A4Híb#╝╘ #µ%═)╠-%1?5ñ8ü;ù>└A
EºGMJcM¿PFTóWT[é^2b┤e┘iZmnαnKr╞uñx {ÑjÇä≤çαïÑî¥É"öbù■Ü≤¥ƒíoÑt¿¼╪«¡▓∩╢ÿ║√╝π└╚─¢╟²╩┬╦ç╠²╧└╨ƒ╘d╒)╓ε╓│╫x╪;┘┌┼┌è█O▄⌐αêΣMσµ╫µ£τaΦK∞φ╤φo± ⌠A°∙═∙A²q?£
τóSµ▐å#é&π)Ñ-φ04µ5
:d>KB≡E╢I,M"QçTMUV>YZ9]╡`nd°g«jòmüq█uΓy¿zg{,|±|╞ïÇPüé┌éKàsë9è%Ä╟æIò╡ÿτ£8íεÑD⌐j¼░╗▓j╡╖╕╝t┐█┬┼ ╟2╔C═4╤┤╘A╫∙┘╒▌╞α┤Σ╫ΦÿΘ7φ▓≡r⌠k°
ⁿßⁿº²mΦ	Äv╗pXσ!%`(J,Γ.╜1}4«8╥<@OBWE│GεJ╛NkRⁿT┬WûZw];^ca)b∩bxf~idl╖o╟q┼twbz}üïàóë/ÄRÆiû<Ü_¥ⁿƒ²í┬óéªt¬·¼ª»{│ë╢ï╣Ä╝/┐"┬╫─∞╟Y╩σ╠p╨5╤·╤┐╥ä╙┼╫è╪¿█s▐7▀²▀├αçßíΣîΦàδ φp≡%⌠$°d·%²⌠²╠■ve┬'
o=8	T¬"&~(,z."2╒5H9█<f@tC╥FΩIâLñO└R1VΦY╚\┴_ΓaΓcíf±iÑl3p't╕wô{╫~ Ç0âKà,ê²èCìNÉ≈ôτû¬ù$Ü¥ªáñOªº!⌐σ⌐⌐¬n½r¡╔░Θ┤ì╖`║╛î┴R┬@╞
╩V╠═┴╨└╘e╪≥█y▀qπ8τ⌡Θ┤φ┘≡£⌠à°fⁿ≥ X,∙
∙
¼àJ:$v 1$∙'╟+ƒ/│2∞5s9(<@%C¡F∩I≈L║M┌O¿S£WÇZç]▒`zcfΓhkºm_p└swùyA}╞qéDå╨ë)ìnÉ╪ôîù0¢π¥;í┌ñ@¿å½╪«>│╢D╣n╝U┐_├J╟╦M╬≈╤	╒¬╪E▄■▐ ΓJσ»τ¡Ωεë±⌠⌠┼≈è°√┌²ô]¬┴ç╩¥ß«Å"╛%≡)-⌠0║4°7+;M>»BòE╢GOK╖NZRφUY╙\─_∞c░g`knÉps╡v~y-}ÜÇ█â╢åèτîÅóæ▓ô≤ò╙ù·Ö╘¢₧╫ƒ!óSÑL¿ï¬z¡▄░╥▓╡└╢╨╕╤╗Æ┐`├P╞╩┤╠A╧E╙┤╓i┘'▄&α╠π╝µ%ΘΣδuφô∩X≡ï≤«÷·îⁿ┬ M╫£a≥è"τªg# $/'░)ò,U0	4R6`9¡;?ºAqDGiI
LêNQ╧SV<X9[._êbâfsi=l}oµq3v2z|ªoéläcåìê«è│î╛Égò░ÿ£ê₧πáßúªñ▌ªK⌐a¼!»ε▓û╢v╣└╗┐╤┴è─╟ÿ╔╠ü╬q╤╒¡╫û┘u█r▌x▀αΣIΦ
Θ╝∞█∩¿≤m⌠╖≈ⁿ·r■╤δ╝▀φ>1⌠ε"*%)
- 05f99=Ñ@çC╕EJIcLΩNσRºS¼VvZÜ^ aZfσi0närJvαzƒ~≤Çñà∞ëìëÅ;Æ¥öTÿ╘£Láªñ¿z½@»
▓r┤ª╕╔╗¥┐}┬╞⌠╚c╠=╨$╘$╫∩┌(▀▀ß╨σ═τΓδx≡σ⌡≤·├ ░≈:░ôÖ^0█!╜$M(,,╨/û0Σ3ô6┴9ç:I>╞ALEFIHxK,OÿQYRεT┤UÜY╕\~]òaDe
f╬icm+ps	w){Q#â²å]è!ïyÄ>Å ô'ûδû╥Üû¢iƒ-á±á╡íyó=úñ┼ñ░ºt¿3⌐≈⌐╗¬½^»┤▓W╡╢T╣║▄║°╜╛╛ä┐J└┴┼≤╚½╠m╧D╥╦╘ü╫═┌í▌ùαéΣ-ΦôδV∞H∩:≤8≈╛·é√@ ,	ª	n	3		j	ü	╗	u	╗	L	 	Æ"	·%	%)	µ)	O-	.	▒1	┬5	Æ8	î;	µ>	╦A	
E	rH	uL	▌O	╛S	bV	·Y	!^	τ^	¡_	s`	9a	 a	┼b	,f	/k	^n	┘p	?t		w	╥y	≈|	╝}	╫Ç	à	ë	Lî	¼Ä	┘Æ	pû	└ÿ	√Ü	í¥	yí	ñ	º	V⌐	I¼	}»	U▓	ú╡	½╕	n╜	╚┐	e┬	┼	¥╚	╠	╧╧	%╙	ü╒	╪	µ█	5▀	╘Γ	ÿµ	èΘ	┌δ	ÿ∩	│±	╤⌡	τ°	²	φ 	≈
|
╢
{
─
└
G
¼
_
H
J"
3%
n(
▒+
ò.
W/
±5
P;
E?
YD
wI
wN
òS
ÿX
║]
╓b
⌠g
m
)r
Aw
W|
qü
Tå
rï
üÉ
Eö
Fù
GÜ
╬£
í
bñ
¿
╖½
}¼
z░
│
╞│
ï┤
P╡
╢
┌╢
║
╦║
╛
┘╛
ü┬
9╞
_╔
º╠
╞╧
*╙
^╓
z┘
å▄
eα
├π
gΦ
∞
7∩
Φ±
÷
σ°
åⁿ
p 
sΦ
bwöd╧² (%P(,α,ß/Γ2w6■98=V@¼C0FkHαJO R▀VΩZ╥]▄af┼iïjm╤p│swQ{m$äçkëèΩìÖæ≥öáù√Ü$₧Gíñ╞ª*¬G¡z░└│╟╢╚║P╛à┴=┼-╔s╠Γ╧h╙╘╓_┌ê▐iπ[τδ!∩?≤G÷¬°F√J■WT
4µôX╡─ 8$Ä'÷)√,╩/?3E6<9j<è?nAêC∙EH%K
M█PT╨UTY-[Ö]ó_òb∩d▀g«i┴lup:q ww{╜aä╫êïì╫æ'ò=ÿZ£₧ƒ▄▄

































































































































































































































































































View/enter records
\!────────────────────────────────────────────────────────────\~

Display records from the current database or set. You can
View one record at a time in a form, or Browse through a
table of records.

In both View and Browse modes, you can Enter new records
into the current database or set, and Change existing
records.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Print
\!────────────────────────────────────────────────────────────\~

Print reports, mail labels, forms, browse tables, and form
letters to either the screen, a printer, or a file that is
stored on disk.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Search/sort lists
\!────────────────────────────────────────────────────────────\~
Search and/or sort the current database or set for records
meeting specific criteria.  The resulting search/sort list
contains the record numbers of all records satisfying the
criteria (it does not contain the actual records).

You can run one-time search/sorts, or save the criteria and
run the search/sort again later. When the search/sort is
run, the search/sort list automatically becomes the \#primary
index\~. To turn the search/sort list off, select another
primary index.

An alternative to running a search/sort is a \#range\~ that uses
a \#filter expression\~ or an index with a filter expression to
retrieve records that meet specific criteria.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, 345, 352, *833, 834]













































































Indexes/ranges
\!────────────────────────────────────────────────────────────\~

Create, select, and erase \#indexes\~ and \#ranges\~. Indexes
control the order in which records are accessed from the
current database.

Ranges let you define further restrictions (based upon the
delete status, whether a record is a duplicate, etc.) on how
Alpha Four retrieves records from the current database or
set. You can define up to 26 ranges per database or set. 

           \!┌─ \~Note \!──────────────────────────────┐\~
           \!│\~ Indexes are discussed in Chapter 5; \!│\~
           \!│\~ ranges are discussed in Chapter 6.  \!│\~
           \!└─────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, 345, *833, 834]













































































Global update/delete
\!────────────────────────────────────────────────────────────\~

Update the value in one or more fields, or delete/undelete
all (or a sub-set) of the records in the current database.
When updating a field, you can use either a constant value
(such as "C.O.D." or 36.7) or an expression (such as TOTAL *

You can also change the case of character fields, for
example, converting the first letter of every word to
uppercase.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Choose database/set
\!────────────────────────────────────────────────────────────\~

The Choose database/set command allows you to:

Open a database or set, thereby selecting it as the current
database or set and adding it to the current Desktop.

Select one of the open databases or sets as the current
database or set.

Save Desktops for future use.

Retrieve a Desktop.

Erase or Clear a Desktop.
\!════════════════════════════════════════════════════════════\~
  \#What is a Desktop?\~       \#Using help\~         \#Help topics\~   
          
\[506, *833, 834]












































































Database/set design
\!────────────────────────────────────────────────────────────\~

Create, re-name, duplicate, or erase a database or set.

Reconfigure (change the structure of) the current database
(add or delete fields, or change field sizes and types).

Define a system of field rules for the current database or
set. Field rules govern data entry, allowing you to control
what data is entered and how it is stored.

     \!┌─ \~Note \!──────────────────────────────────────────┐\~
     \!│\~ Databases and sets are discussed in 3 chapters, \!│\~
     \!│\~ Databases: 9, Field Rules: 10, Sets: 11.        \!│\~
     \!└─────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Layouts
\!────────────────────────────────────────────────────────────\~

Design reports, mail labels, forms, browse tables, and form
letters for the current database or set. Alpha Four features
a "visual layout" process, which allows you to place fields
and text exactly where you want them to print.

You can also establish pre-defined settings for printing
each document, specifying the destination and which records
to print.

 \!┌─ \~Note \!──────────────────────────────────────────────────┐\~
 \!│\~ The Layout commands are discussed in 4 chapters,        \!│\~
 \!│\~ Reports: 12, Forms: 13, Browse tables: 14, Letters: 15. \!│\~
 \!└─────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Applications
\!────────────────────────────────────────────────────────────\~

Build and run custom applications in Alpha Four.
Applications are useful for automating routine tasks,
customizing menus, and restricting users to a limited
command set.

Alpha Four allows you to design your own menu structure, and
to record macros that execute specific functions when the
application is run.

You can create applications that closely follow Alpha Four's
own menu structure, changing the wording, and adding or
removing commands as needed.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Utilities
\!────────────────────────────────────────────────────────────\~
Run utilities for copying, appending to, summarizing, and
packing (removing deleted records from) the current
database. Import and export data between Alpha Four and
other file formats.

Join, intersect, or subtract two databases to create a
third, based upon specific restrictions. Post transactions
from one database to another. Cross tabulate a database by
summarizing it on two dimensions.

    \!┌─ \~Note \!────────────────────────────────────────────┐\~
    \!│\~ The Utilities are discussed in 3 chapters,        \!│\~
    \!│\~ Utilities: 19, Import/Export: 20, Relational: 21. \!│\~
    \!└───────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Other
\!────────────────────────────────────────────────────────────\~

Display information about the current database or set, such
as: field statistics, database/set structure, and supporting
files.

Create, select, and erase printer configurations (drivers).
Select screen colors. Define default settings for use in
Alpha Four (currency name and symbol, date separator,
numeric formats, recalculation mode, etc.). Set network
configuration options for network version (file sharing mode
and update record). Set telephone dialer configurations.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]














































































Quit
\!────────────────────────────────────────────────────────────\~

Exit from Alpha Four to DOS.

      \!   ┌─ \~Warning\! ────────────────────────────────┐
\~         \!│\~ Never shut off your computer until you   \!│\~
         \!│\~ have properly exited from Alpha Four.    \!│\~
         \!│\~ Doing so may result in the loss of data. \!│\~
      \!   └──────────────────────────────────────────┘
\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Designing reports
\!────────────────────────────────────────────────────────────\~

Create, edit, or erase a report. Alpha Four allows you to
store up to 26 reports for each database or set. Design your
reports by placing fields and text exactly where you want
them to print.

Your report can calculate values based upon the contents of
various fields, and can automatically summarize data at any
level within the report. Records can be grouped into up to 9
groups.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Designing mail labels
\!────────────────────────────────────────────────────────────\~

Create, edit, or erase a mail label design. Alpha Four
allows you to store up to 26 mail label designs for each
database or set. Design labels by placing fields and text
messages exactly where you want them to print on the label.

Alpha Four automatically suppresses blank address lines on
labels, and provides a variety of alignment options that
make designing professional looking labels easy.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Designing forms
\!────────────────────────────────────────────────────────────\~

Create, edit, or erase a \#form\~ (up to 26 for each database or
set). Forms display one record at a time (you can also print
forms). Design a form by placing fields and text exactly
where you want them to appear. A form can be up to 25 pages
(screens) long.

A form can calculate values based upon the contents of
various fields. You can control the color of every field on
the form, as well how each field is displayed and printed.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[883, *833, 834]













































































Designing browse tables
\!────────────────────────────────────────────────────────────\~

Create, edit, or erase a \#browse table\~. Alpha Four allows you
to store up to 26 browse tables for each database or set.

Browse tables display data in a tabular format, showing up
to 20 records at a time. Browse tables can also be printed.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[884, *833, 834]













































































Designing letters
\!────────────────────────────────────────────────────────────\~

Create, edit, or erase a form letter template.

Form letters can print calculated values based upon other
fields in the same record, conditionally print paragraphs,
and include external files. You can also insert pauses for
user input while the letters are printing.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Information
\!────────────────────────────────────────────────────────────\~

Display information about the status and structure of the
current database or set, and information about the
associated supporting files.

Compute summary statistics for up to four fields or
expressions from the current database or set. For example,
calculate the sum, average, minimum and maximum of the TOTAL
field for all records, or a sub-set of the records, in the
current database.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Configuration
\!────────────────────────────────────────────────────────────\~
Create, edit, and erase printer configurations (drivers).

Select the screen colors for use with Alpha Four (color
monitors only).

Define default settings for Alpha Four operations and
configuration, such as numeric formats, the currency name
and symbol, the separator used in dates, recalculation mode,
and so on.

Set network default options for network version (file
sharing mode and update intervals).

Set telephone dialer options.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Displaying the database/set status 
\!────────────────────────────────────────────────────────────\~

Display status information about the current database/set
and about Alpha Four :

- The name, description, and size of the current database
- The names and descriptions of all attached indexes, as
  well as the primary (currently active) index
- Currently selected browse table, range, and printer  
  configuration, as well as beep and recalculation modes
- The current date, time, and version of Alpha Four.
- Network information (network version only).
- Memory configuration and other system data.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Computing and displaying field statistics
\!────────────────────────────────────────────────────────────\~

Display statistics for up to four fields (or expressions
involving fields) from the current database or set.

For numeric fields, Alpha Four displays the lowest and
highest value, the sum, and the average.

For character and date fields, Alpha Four displays the
lowest and highest values.

Alpha Four computes the statistics for all of the records in
the current range. Alpha Four also displays the number of
records in the range.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Displaying the database/set structure
\!────────────────────────────────────────────────────────────\~

Display the structure of the current database or set.

For a database, Alpha Four lists the fields, with their
names, sizes, and types.

For a set, Alpha Four displays the set diagram, which
illustrates how the various databases comprising the set are
linked together.

     \!┌─ \~Note\! ─────────────────────────────────────────┐\~
     \!│\~ As a shortcut, use F2 to display the structure \!│\~
     \!│\~ in View/Browse mode and at the main menu.      \!│\~
     \!└────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Printer configurations
\!────────────────────────────────────────────────────────────\~

Printer configurations (also known as drivers) contain the
appropriate codes to enable and disable print enhancements
(such as bold, italics, underline etc.).

Printer drivers also define page margins and sizes and the
method Alpha Four should use to advance to the next page.

Before you can use a printer configuration, you must first
install it with the Create/edit a printer configuration
command. 



\!════════════════════════════════════════════════════════════\~
              \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Setting screen colors
\!────────────────────────────────────────────────────────────\~

Select the Set screen colors command to adjust the screen
colors for the current database, or to make a particular
color setting the default setting for database and sets that
are not explicitly configured with customized color
settings.

The colors selected here are used for various parts of the
Alpha Four menus and screens. On a VGA monitor, Alpha Four
allows full control of the color palette, allowing you to
select from 64,000 different colors. You can not change
screen colors if you are using a monochrome video adapter
card.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Defining default settings
\!────────────────────────────────────────────────────────────\~
- Should Alpha Four beep when you make an error?

- Should Alpha Four automatically perform calculations when
  you enter data in a field or only when you save a record?

- Should the help prompts on line 24 be displayed?

- What are the default currency name and symbol, numeric
  format, and date separator?

- Should Alpha Four immediately write each update to disk?

- What method Alpha Four should use when comparing string
  values: Exact, Case-sensitive or Case-insensitive.
\!════════════════════════════════════════════════════════════\~
     \#Using help\~         \#Help topics\~      \#More...\~        
\[833, 834, *33]













































































Network configuration options (for network version only)
\!────────────────────────────────────────────────────────────\~
This command allows you to change the following network file
sharing parameters:

File Sharing Mode: Select Shared to allow other network
users to have simultaneous access a database or set. Select
Exclusive to allow only one user at a time to access a
database. At installation, single-user systems default to
Exclusive and multi-user systems to Shared.

Update Records Every: This prompt only appears if Shared
mode is selected. Specify the number of seconds Alpha Four
should wait before updating your screen when in View or
Browse mode to reflect changes other users may have made to
the record(s) you are viewing.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Telephone dialer setup
\!────────────────────────────────────────────────────────────\~

The telephone dialer command has two sub-commands: Phone
numbers and Global settings.

Select Phone numbers to specify which fields in the current
database contain phone numbers. You can specify up to eight
fields. 

Select Global settings to specify the following global
telecommunications settings : local area code, should "1" be
dialed before the area code, should a prefix be dialed, to
which Com port is the mode attached and should the modem use
Tone or Pulse to dial the number.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*22






























































































\*24






























































































Selecting a database or set
\!────────────────────────────────────────────────────────────\~

Select a database or set to work with. All subsequent
operations affect this, the current database or set.

If the database or set is not stored in the current data
directory, you can type the correct drive and path with the
database or set name (as in C:\ALPHA4V3\FINANCE\BUDGET.DBF).

Alpha Four accepts the DOS wildcards ? and * in the
drive/path specification (as in C:\ALPHA4V3\DATA\W*.SET).
This would display a directory of all sets that start with
W.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Defining default settings (continued)
\!────────────────────────────────────────────────────────────\~

- Should users be prevented from changing records?

- When Alpha Four is swapped out of memory, where should it
  be swaped?  Disk, EMS memory, XMS memory, or Try All
  (tries XMS, then EMS, then disk).

- Should Alpha Four adjust the diplay colors of script
  dialog boxes and Application background screens so that
  they are readable on a monochrome screen.

- Create databases using the dBASE IV file format?

\!════════════════════════════════════════════════════════════\~
              \#Using help\~                    \#Help topics\~
  \#Next page\~                \#Previous page\~
\[*833, 834, 34, 27]













































































Defining default settings (continued)
\!────────────────────────────────────────────────────────────\~

- Should Alpha Four continue automatically to Enter for a
  new record after the last field is entered in a record?

- Should users be prevented from changing or entering into a
  database while another user is using Append, Join, Post,  
  Export or Global Update on the same database? (network)  







\!════════════════════════════════════════════════════════════\~
    \#Using help\~         \#Help topics\~        \#Previous page\~
\[*833, 834, 33]













































































Mouse configuration
\!────────────────────────────────────────────────────────────\~

Use Tab to move forward and Shift-Tab to move backward
between the controls.  The title of the active control is
highlighted.

Contrasting markers on the slider bars indicate the current
settings.  To change a setting, click anywhere on the slider
bar.

Double click interval
\!───────────────────────────\~
Use the Double click interval slider bar to change the speed
at which you must click your left mouse button in order to
register a double click.
\!════════════════════════════════════════════════════════════\~
    \#Using help\~         \#Help topics\~        \#Next page\~
\[*833, 834, 36]













































































Mouse configuration
\!────────────────────────────────────────────────────────────\~
Scroll rate
\!───────────────────────────\~
Use the Scroll rate slider bar to change the speed at which
Alpha Four scrolls records and choices displayed in popup
boxes when you click and hold on a scroll arrow.

Tracking rate
\!───────────────────────────\~
Use the Tracking rate slider bar to change the speed at
which the mouse cursor moves across your screen.

Use F2 Default rates to change all three settings to their
Alpha Four default rates.  Use F3 Reset to switch the active
control back to the previously used setting.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































View mode
\!────────────────────────────────────────────────────────────\~
Display individual records, using either the default \#form
\~provided by Alpha Four, or one of your own custom-designed
forms.

Use the Up and Down arrow keys to move back and forth among
the records in the database.

Select each View mode command by typing the first letter of
the command, or by using SpaceBar to position the highlight
over the command, and pressing Enter.

The \#status line\~ at the bottom of the screen indicates the
current records and modes.
\!════════════════════════════════════════════════════════════\~
    \#Using help\~             \#Help topics\~             
             \#Moving around\~            \#Shortcut Keys\~
\[883, 878, *833, 834, 880, 875]













































































Change mode
\!────────────────────────────────────────────────────────────\~

Toggle to Change mode, so you can update the current record.
Once you have finished editing the record, press F10 (Save)
to save the changes, or Esc to cancel the changes. To see
the list of Change mode options, press F2 (Options).

You can edit records using both the form (in View mode) and
the browse table (in Browse mode). Select the appropriate
mode before selecting the Change command.

When you are viewing or browsing through a set, you can edit
records in the set's child database if that database is
included as a region on the form and the region is defined
as editable.
\!════════════════════════════════════════════════════════════\~
\#Using help\~           \#Help topics\~          \#Zoom to child file\~
\[667, *833, 834, 57]













































































Enter mode
\!────────────────────────────────────────────────────────────\~
Toggle to Enter mode, so you can add new records to the
current database. Once you have finished entering the
record, press F10 (Save) to save it, or Esc to cancel.

To see the list of Enter mode options, press F2 (Options).

You can enter records using both the form (in View mode) and
the browse table (in Browse mode).

When you are viewing or browsing through a set, you can
enter records in the set's child database if that database
is included as a region on the form and the region is
defined to allow you to enter new records.
\!════════════════════════════════════════════════════════════\~
      \#Using help\~                 \#Help topics\~          
                \#Zoom to child file\~         \#Shortcut keys\~
\[667, *833, 834, 57, 864]













































































\*64































































































Finding a particular record with the index key
\!────────────────────────────────────────────────────────────\~

Locate a specific record in the database. The search is
based upon the \#primary index\~. For example, if ZIPCODE is the
primary index, you can search for a particular zip code.

When prompted, enter the \#index key value\~ (i.e., the zip
code) to search for (no quotes), and press Enter. Alpha Four
finds the first record with the closest matching index key.

The Find command is normally case-insensitive, unless you
specified that the primary index should be case-sensitive.

Press F2 (Use alternate index) to use one of the non-primary
indexes in the search.
\!════════════════════════════════════════════════════════════\~
\#Using help\~            \#Help topics\~           \#Creating Indexes\~
\[973, 363, *833, 834, 974]













































































Selecting a primary index
\!────────────────────────────────────────────────────────────\~

Select a previously defined index as the new \#primary index\~.

Indexes control the order in which records are retrieved and
displayed. For example, if you select the ZIPCODE index,
Alpha Four displays records in zip code order.

When you select the Index command, Alpha Four displays a
list of available indexes. Select one by highlighting it and
pressing Enter.

Use the \#range settings\~ to specify whether records should
appear in ascending or descending order.

\!════════════════════════════════════════════════════════════\~
\#Using help\~            \#Help topics\~           \#Creating Indexes\~
\[973, 345, *833, 834, 974]













































































Returning to the main menu
\!────────────────────────────────────────────────────────────\~

Return to the Alpha Four main menu. If you want to exit
Alpha Four, select the Quit command from the main menu.

     \!   ┌─\~ Warning \!────────────────────────────────┐
\~        \!│\~ Never shut off your computer until you   \!│\~
        \!│\~ have properly exited from Alpha Four.    \!│\~
        \!│\~ Doing so may result in the loss of data. \!│\~
     \!   └──────────────────────────────────────────┘
\~




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Options
\!────────────────────────────────────────────────────────────\~

Display the list of additional View mode options.

Select an option by highlighting it and pressing Enter, or
by typing the first uppercase letter in the command name.
For example, when the list of options appears, you can press
"D" to mark a record as deleted.

The keystrokes listed to the right of some options represent
short cuts; you do not have to display the Options box in
order to use them. For example, you can mark a record as
deleted simply by pressing Alt-D (Delete record), instead of
popping up the Options list.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Tools
\!────────────────────────────────────────────────────────────\~

Begins playback of the Tools script if one has been defined.

The Tools script can be either a script named TOOLS or a
script with the same name as the current database.

If you have a script named TOOLS and a script with the same
name as the current database, the script with the database
name takes precedence and will play when the Tools command
is invoked.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Defining a range
\!────────────────────────────────────────────────────────────\~

Create, edit, or select a range.

Alpha Four uses \#range settings\~ to determine which records to
retrieve from the current database or set.

When you select define Range, Alpha Four displays the Range
Settings box. You can define any (or all) of the following
settings: \#Primary index\~, \#Order\~, \#Show mode\~, \#First record\~,
\#Last record\~, \#Unique keys\~, \#Filter\~, \#Filter status\~, and \#Link
mode\~ (sets only).

Press F10 (Continue) to store the new range settings.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, 353, 357, 359, 354, 355, 358, 352, 356, 360, *833, 834]













































































Deleting a record
\!────────────────────────────────────────────────────────────\~

Mark the current record as deleted. Alpha Four does not
actually remove the marked record from the database.
Instead, the "DEL" flag is displayed on the status line (and
a diamond appears in front of the record in the browse
table).

\#Undelete a deleted record\~ with the Undelete record option.

   \!┌─ \~Note \!─────────────────────────────────────────────┐\~
   \!│\~ To permanently remove deleted records, you must    \!│\~
   \!│\~ \#pack the database\~, using Utilities, Pack Database. \!│\~
   \!└────────────────────────────────────────────────────┘\~

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[49, 630, *833, 834]













































































Undeleting a record
\!────────────────────────────────────────────────────────────\~

Remove the delete marker from a record, thus "undeleting"
that record.

           \!┌─ \~Note \!────────────────────────────┐\~
           \!│\~ You cannot undelete records after \!│\~
           \!│\~ the database has been packed.     \!│\~
           \!└───────────────────────────────────┘\~

Undeleting a record is the opposite of \#deleting a record\~.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[48, *833, 834]













































































Locating a particular record by searching in any field
\!────────────────────────────────────────────────────────────\~

Locate a record by searching in any field(s) in the database
(even memo fields).

When prompted, enter the phrase you are looking for (no
quotes), and press Enter. Alpha Four displays a list of the
fields in the current database. Select which field to search
by highlighting it and pressing Enter.

Alpha Four locates the first record containing the search
string in the selected field. Select "Next locate" to
continue the search, or "eXit locate" to end it.

The search is case-insensitive.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Running a one-time search/sort
\!────────────────────────────────────────────────────────────\~

Create a one-time search/sort list directly from view or
browse mode. Selecting this option is the same as selecting
\#One-time Search/Sort\~ from the Search/Sort Options menu. 

When the search/sort is run, the resulting search/sort list
becomes the active primary index.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[644, *833, 834]













































































Searching for and replacing a value in multiple records
\!────────────────────────────────────────────────────────────\~

Perform a global search-and-replace operation. For example,
you could search for all occurrences of "Mrs" in the TITLE
field and change them to "Ms".

When prompted, enter the phrase to search for (no quotes).
Then press Down and enter the replacement phrase (no
quotes).

Next, Alpha Four displays a list of the fields in the
current database. Select the fields to search by
highlighting them and pressing Enter. Finally, choose
whether you want to \#verify each replacement\~ or let Alpha
Four automatically replace all occurrences.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[62, *833, 834]













































































Choosing another form
\!────────────────────────────────────────────────────────────\~

Select another \#form\~ to use for displaying data. This option
is a short cut for returning to the main menu and using the
Layouts, Forms, Select active form command to \#select a form\~.
Alpha Four displays the list of available forms; select one
by highlighting it and pressing Enter.

 \!┌─ \~Note \!─────────────────────────────────────────────────┐\~
 \!│\~ Form "0" is Alpha Four's default form, which lists all \!│\~
 \!│\~ of the database's fields in a column on the screen.    \!│\~
 \!└────────────────────────────────────────────────────────┘\~

Alpha Four returns you directly to View mode, displaying the
current record in the newly selected form.
\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~            \#Creating forms\~
\[883, 234, *833, 834, 233]













































































Editing the current form
\!────────────────────────────────────────────────────────────\~

Edit the current form's layout. This option is a short cut
for returning to the main menu and using the Layouts, Forms,
Create/edit a form command to \#create or edit a form\~.

When you select Edit the current form, Alpha Four brings you
directly to the \#Form Layout screen\~. Modify the form as
desired (adding and deleting text, fields boxes, and lines),
and then press F10 (Continue) to save the updated form.

Alpha Four returns you directly to View mode, displaying the
current record in the modified form.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[233, 237, *833, 834]













































































Switch databases
\!────────────────────────────────────────────────────────────\~

Open a database from the current \#Desktop\~. To select a
database from the list press the number or letter to the
left of the database or set, or highlight the database or
set and press ENTER.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[506, *833, 834]













































































Entering and editing memo fields
\!────────────────────────────────────────────────────────────\~
Create or edit a memo field. This option appears only when
the current record contains a memo field.

Selecting this option invokes the memo-field editor, which
is like a word processor. Type and edit your memo as needed,
then press F10 (Save) to save it.

You can edit the \#formatting options\~ for a form or browse
table to display the actual memo field contents; otherwise
Alpha Four displays the "...Memo..." label.

Memo fields are discussed in detail in Chapter 24 of the
Alpha Four Reference Manual.
\!════════════════════════════════════════════════════════════\~
       \#Using help\~               \#Help topics\~          
               \#Multi-line windows\~          \#Shortcut keys\~
\[259, *833, 834, 916, 876]













































































Zooming to a child database in a set
\!────────────────────────────────────────────────────────────\~
Switch to another of the set's component databases and
display the record that is linked to the current record.

When you view or browse through a set, you can edit records
belonging to the set's \#primary database\~ and, using a custom
form, you can also edit child records contained in a region.

To edit records in any of the other component databases,
select Zoom to child file. Alpha Four displays a list of
available databases and sub-sets. Select one by highlighting
it and pressing Enter.

Back up to the last database accessed with the \#Un-zoom
\~command.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[667, 58, *833, 834]













































































uN-zooming (returning from a child database)
\!────────────────────────────────────────────────────────────\~

Back up to the last database accessed. This option appears
only when you have used the Zoom to child file command to
switch to another of the set's component databases.

When you select uN-zoom, Alpha Four automatically re-selects
the last database accessed before you \#zoomed\~.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[57, *833, 834]













































































Using the Telephone Dialer
\!────────────────────────────────────────────────────────────\~

Automatically dial a telephone number that is displayed in
the current record.

This option appears only when you have set the telephone
configuration global settings as well as the phone number
field(s) or expression(s) used for the current database or
set.

Selecting this option displays all phone numbers from fields
in the current record.  If more than one number displays,
use Up and Down to highlight the number you want to dial and
then press Enter.

\!════════════════════════════════════════════════════════════\~
       \#Using help\~               \#Help topics\~          
\[*833, 834]













































































\*57































































































\*58































































































Verifying each replacement during the search and replace
\!────────────────────────────────────────────────────────────\~

When you choose to verify each replacement, Alpha Four
pauses before replacing each string, offering you the
following options:

- Replace: replace the string and continue searching

- Bypass: skip the current record and continue searching

- Quit: stop the search-and-replace operation (optionally
  replacing the current string first)

- Change: enter Change mode so you can edit the record
  (optionally replacing the search string first).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*55






























































































Browse mode
\!────────────────────────────────────────────────────────────\~
Display up to 20 records at a time in a \#browse table\~. You
can use either Alpha Four's default browse table, or one of
your own custom-designed browse tables.

Use the Up and Down arrow keys to move back and forth among
records; use Left and Right to move between fields.

Select each Browse mode command by typing the first letter
of the command, or by using SpaceBar to position the
highlight over a command, and pressing Enter.

The \#status line\~ at the bottom of the screen indicates the
current record and modes.
\!════════════════════════════════════════════════════════════\~
   \#Using help\~             \#Help topics\~             
             \#Moving around\~            \#Shortcut keys\~
\[884, 878, *833, 834, 881, 875]













































































\*39































































































\*40































































































\*38































































































\*42































































































\*43































































































\*47






























































































\*48































































































\*49































































































\*50































































































\*51































































































Choosing another browse table
\!────────────────────────────────────────────────────────────\~

Select another \#browse table\~ to use for displaying data. This
option is a short cut for returning to the main menu and
using Layouts, Browse tables, Select active browse table to
\#select a table\~. Select a table from the list that Alpha Four
displays (highlight it and press Enter or type the letter).

 \!┌─ \~Note \!────────────────────────────────────────────────┐\~
 \!│\~ Table "0" is Alpha Four's default browse table, which \!│\~
 \!│\~ lists all of the database's fields across the screen. \!│\~
 \!└───────────────────────────────────────────────────────┘\~

Alpha Four returns you directly to Browse mode, displaying
your data in the newly selected browse table.
\!════════════════════════════════════════════════════════════\~
\#Using help\~         \#Help topics\~        \#Creating browse tables\~
\[884, 334, *833, 834, 333]













































































Editing the current browse table
\!────────────────────────────────────────────────────────────\~

Edit the current browse table's layout. This option is a
short cut for returning to the main menu and using the
Layouts, Browse tables, Create/edit a browse table command
to \#create or edit a browse table\~.

When you select Edit the current table, Alpha Four brings
you directly to the \#Browse Table Layout screen\~. Modify the
table as desired (adding, deleting, re-sizing, and moving
columns), and then press F10 (Continue) to save the updated
browse table.

Alpha Four returns you directly to Browse mode, displaying
your data in the modified browse table.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[333, 82, *833, 834]













































































\*63































































































\*56































































































\*57































































































\*58































































































\*59































































































Using the Browse Table Layout screen
\!────────────────────────────────────────────────────────────\~

Place fields in the order in which you want them to appear
when the browse table is displayed or printed.

You can re-order the columns in a browse table, modify field
sizes, define formatting options to control how values
display, and print the table.

   \!┌─ \~Note \!─────────────────────────────────────────────┐\~
   \!│\~ Browse tables are useful for printing very simple  \!│\~
   \!│\~ reports (no grouping, no summary fields, no text). \!│\~
   \!└────────────────────────────────────────────────────┘\~

\!════════════════════════════════════════════════════════════\~
     \#Using help\~             \#Help topics\~             
               \#Function keys\~           \#Shortcut keys\~
\[*833, 834, 937, 862]















































































































































































































































































Placing a field
\!────────────────────────────────────────────────────────────\~

Select a field and place it in the layout.

First, Alpha Four displays the list of available databases.
Select the database containing the field that you want to
place in the design.

Next, Alpha Four displays the list of fields for the
selected database. Select the appropriate field. Alpha Four
places the field marker on the layout screen.

After you have placed a field on the layout, you can
lengthen or shorten the field marker by placing the cursor
in it and pressing the + (lengthen) and - (shorten) keys.
\!════════════════════════════════════════════════════════════\~
\#Using help\~           \#Help topics\~          \#Formatting options\~
\[*833, 834, 176]













































































Changing a field's size
\!────────────────────────────────────────────────────────────\~

Change a field's display size in the table. Alpha Four will
accordingly increase or decrease the number of characters
displayed in the field. The display size cannot be larger
than the field's actual length.

First, position the cursor on the field to size. Next, press
F2 (Fields) and select Size field.

Use Left to decrease the field's size, and Right to increase
it, one character at a time.

Use Down to increase the number of lines in the field
window, and Up to decrease it, one line at a time.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Moving a field
\!────────────────────────────────────────────────────────────\~

Move a field to another position on the table.

First, position the cursor over the field to move. Next,
press F2 (Fields) and select Move field. Alpha Four places
an arrow under the selected field.

Use Left and Right to move the arrow pointing to the field
to the desired location, and press Enter. Alpha Four moves
the selected field to the new position.

To cancel the move, press Esc any time before the operation
is complete.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*174































































































\*176































































































Re-select all fields
\!────────────────────────────────────────────────────────────\~

Delete all fields from the browse table layout and then use
the Field Selection screen to re-select only the fields you
want to use.

Alpha Four immediately deletes all fields from the browse
table, and displays the \#Field Selection screen\~.

Select only the fields that you wish to include in your
browse table, in the order in which you want them to appear
(if necessary, use F4 (Reorder) to re-order them). Then
press F10 (Continue) to return to the layout screen.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[764, *833, 834]













































































Browse Table Parameters screen
\!────────────────────────────────────────────────────────────\~

The browse table parameters control how the table is
printed, specifically:

- The number of records printed on each page

- Whether the table is printed with header lines, page
  numbers, and record numbers

- The margins used in printing the table.

After you have changed the browse table parameters, press
F10 (Continue) to store the new parameters and return to the
Browse Table Layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Browse description
\!────────────────────────────────────────────────────────────\~

Enter a brief description of the browse table, something
that makes the table easy to identify later.

For example, if you have three different browse tables for a
particular database, you might want each table's description
to mention the focus of the table, or to list some of the
fields contained in it.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of records per page
\!────────────────────────────────────────────────────────────\~

Specify the number of records that Alpha Four should print
on each page.

If you are printing forms, each form represents one record.

If you are printing a browse table, each row of the table
represents one record.

  \!┌─ \~Note \!───────────────────────────────────────────────┐\~
  \!│\~ Entering "0" here forces the output to print as one  \!│\~
  \!│\~ continuous page, with no page breaks. You must enter \!│\~
  \!│\~ a number greater than "0" to force page breaks.      \!│\~
  \!└──────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of header lines
\!────────────────────────────────────────────────────────────\~

Specify the number of header lines to print at the beginning
of each page.

You do not have to print any headings; you may print up to
three.

When you enter a number greater than 0 here, Alpha Four
prompts you to fill in the appropriate number of headings.

     \!┌─ \~Note \!──────────────────────────────────────────┐\~
     \!│\~ When you print header lines, they appear at the \!│\~
     \!│\~ top of each page -- not the top of each form.   \!│\~
     \!└─────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Headings
\!────────────────────────────────────────────────────────────\~

Enter the text for the appropriate heading. The headings
print in this order, at the top of every page:

          1- Main Heading
          2- Sub-heading 1
          3- Sub-heading 2







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Print page numbers
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to print page numbers at
the top of each page.

The page number will appear in the upper right corner of
each page.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of lines to skip between records
\!────────────────────────────────────────────────────────────\~

Specify the number of blank lines to leave between records
(or forms). 

If you are printing forms and choose to print one form per
page (at the Number of records per page prompt), this
parameter will be ignored.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]












































































Duplicate index key, exceptions are NOT allowed
\!────────────────────────────────────────────────────────────\~

The \#primary index\~ uses the \#Allow\~ parameter set to "Unique
only". Thus, only records containing unique \#index keys\~ may
be added to the database.

For example, if the primary index is SOC_SEC_NO, then only
records containing unique Social Security numbers will be
accepted.

If the database already contains a record with the same
Social Security number that you just entered, Alpha Four
will not let you save the new record.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, 981, 363, *833, 834]













































































Duplicate index key, exceptions ARE allowed
\!────────────────────────────────────────────────────────────\~

The \#primary index\~ uses the \#Allow\~ parameter set to "Unique
with exceptions". In general, only records containing unique
\#index keys\~ should be added to the database.

However, if you enter a record containing an index key that
already exists in the database, Alpha Four will allow you to
override the warning, and will accept the new record.

For example, if the primary index is LASTNAME, only records
containing unique last names should be entered. If you enter
a duplicate last name, Alpha Four will display a warning.
You can choose whether to "Permit" the record to be saved,
or to "Continue" on and add a different record.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, 981, 363, *833, 834]













































































A required field is blank (record cannot be saved)
\!────────────────────────────────────────────────────────────\~

This field is defined as a \#required field\~. You cannot save
the record until you have entered valid data into the field.

If you do not know what type of data to enter for this
field, and you need to get out of Enter/Change mode, press
Esc (Forget) to cancel the current record.

If you are Enter mode, the record will not be added to the
database. If you are in Change mode, your changes to this
record will be lost (the original record will be restored).



\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[377, *833, 834, 365]













































































Field entry is out of defined range
\!────────────────────────────────────────────────────────────\~

The value that you entered does not fall within the
allowable \#range\~ for this field. You cannot save this record
until you enter an acceptable value.

To see the allowed range of values, press Esc to back out of
this help window. Alpha Four re-displays the error message,
which indicates the range for this field.






\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[376, *833, 834, 365]













































































Validation error
\!────────────────────────────────────────────────────────────\~

The value that you entered violates the \#validation rule\~ for
this field. You cannot store the record until you have
entered an acceptable value.

To find out what is valid for this field, check the help
message on line 24 of the screen.

If you cannot determine what is acceptable for this field,
you can cancel the record by pressing Esc (Forget). If you
are in Enter mode, the record will not be added to the
database. If you are in Change mode, your changes will be
lost (the original record will be restored).

\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[378, *833, 834, 365]













































































Exit (F10/Enter/Change)
\!────────────────────────────────────────────────────────────\~

Alpha Four provides three methods for saving a newly entered
record:

- Press F10 (Continue) to save the record and return to View
  or Browse mode

- Press Enter (Next record) to save the record, remaining in
  Enter mode so you can enter another record

- Select "Change" to save the record and immediately switch
  to Change mode so you can edit it


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Escape (Exit without saving)
\!────────────────────────────────────────────────────────────\~

If you want to exit Enter mode WITHOUT saving the new
record, press Esc (Exit without saving). The record is not
saved.

Alpha Four returns you to View or Browse mode as
appropriate.

   \!┌─ \~Note \!──────────────────────────────────────────────┐\~
   \!│\~ If you merely want to erase the record so you can   \!│\~
   \!│\~ re-enter it, use the Options, Undo changes command. \!│\~
   \!└─────────────────────────────────────────────────────┘\~


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Invalid date
\!────────────────────────────────────────────────────────────\~
Valid dates range from 01-01-0100 through 12-31-9999.

In Alpha Four, dates must be entered as either MM-DD-YYYY
(as in 04-25-1961) or MM/DD/YYYY (as in 04/25/1961). You do
not type the date separator (the hyphen or the slash); Alpha
Four fills it in for you. If you have specified European
format dates in the Default Settings, enter dates as
25-04-1961, or 25/04/1961.

You can omit the first two digits from the year. If you do,
Alpha Four assumes the millennium and century. For example,
if you enter "04-25-92", Alpha Four fills the date in as
"04-25-1992".

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Invalid number
\!────────────────────────────────────────────────────────────\~

Numbers can contain up to 19 digits, using up to 14 decimal
places.

If a numeric field is defined with decimal places and you
omit them, Alpha Four fills in the decimals for you. For
example, if you enter "4" in the PRICE field, Alpha Four
stores it as "4.00".

For negative numbers, you can enter "-" as the negative
sign, directly into the field (as in "-123.45"). If you omit
the negative sign, the number is assumed to be positive.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Invalid logical value
\!────────────────────────────────────────────────────────────\~

A logical (True/False) field is always one character in
length, and may contain one of the following values (called
"logical constants"):

TRUE : T, t, Y, y

FALSE: F, f, N, n, null (blank)

When you enter a value into a logical field, simply type the
appropriate letter, as in "T".

When you use a logical constant in an expression, enclose it
between periods, as in: LOGICAL=.T.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































The memo field is required
\!────────────────────────────────────────────────────────────\~

Alpha Four cannot continue until you enter the memo field.












\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Editing a field
\!────────────────────────────────────────────────────────────\~
Key              Action
\!──────────────\~   \!───────────────────────────────────────────\~
Alt-F5           Copy field to clipboard
Alt-F6           Insert clipboard contents into field
Up               Previous field, previous record (table,
                 region)
Down, Enter      Next field, next record (table, region)
Left             One space to the left
Right            One space to the right
Home             Beginning of the field
End              Last character in the field
Del              Deletes the character under the cursor
BackSpace        Deletes the character before the cursor
Ctrl-BackSpace   Deletes the entire field contents
\!════════════════════════════════════════════════════════════\~
\#More...\~       \#Using help\~         \#Help topics\~              
\[110, 833, 834]













































































Editing a field (continued)
\!────────────────────────────────────────────────────────────\~

Key           Moves to        
\!───────────\~   \!──────────────────────────────────────────────\~
Tab           Five fields forward (form), one screen to the
              right (table), or next region (region)
Shift-Tab     Five fields backward (form), one screen to
              the left (tables), or previous region (region)
Ctrl-Tab      First field in prompt order (form), Main form
              level and first field in prompt order (region)
Ctrl-Right    Forward within the field by one word
Ctrl-Left     Backward within the field by one word
PgUp          Previous page (form), previous screen (table,
              region)
PgDn          Next page (form), next screen (table, region)
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Double entry mis-match
\!────────────────────────────────────────────────────────────\~

The two values that you entered for the \#double-entry\~ test do
not match. Enter both the test and the matching value again.
The values must EXACTLY match (including spaces,
punctuation, and capital letters) to be accepted.

You cannot store the record until an acceptable value has
been entered.

If you cannot determine what is acceptable for this field,
you can cancel the record by pressing Esc (Forget). If you
are in Enter mode, the record will not be added to the
database. If you are in Change mode, your changes will be
lost (the original record will be restored).
\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[379, *833, 834, 365]













































































Lookup validation error: NO exceptions allowed
\!────────────────────────────────────────────────────────────\~

If the \#lookup validation\~ is "Exists", enter a value
contained in the lookup table or database. If the lookup
window does not pop up automatically, press F3 (Choices) to
open it.

To select a value directly from the lookup window, highlight
it and press Enter. Alpha Four will copy the value, and
corresponding data, into the current record.

If the lookup validation is "Doesn't exist", enter a unique
value. In this case, the lookup window shows you which
values cannot be used.

\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[412, *833, 834, 365]













































































Lookup validation error: exceptions ARE allowed
\!────────────────────────────────────────────────────────────\~
If the \#lookup validation\~ mode is "Exists", enter a value
contained in the lookup table or database. If the lookup
window does not pop up automatically, press F3 (Choices) to
open it.

If the lookup validation is "Doesn't exist", enter a unique
value. In this case, the lookup window shows you which
values cannot be used.

If Alpha Four has warned you that you have entered a value
that does not exist in the lookup database/table, you may
decide to override the warning and force Alpha Four to
accept the value.

\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[412, *833, 834, 365]













































































Mask error: NO exceptions allowed
\!────────────────────────────────────────────────────────────\~

The value that you entered violates the \#mask\~ defined for
this field. No exceptions are allowed.

You cannot save the record until you have entered an
acceptable value.

If you cannot determine what is acceptable for this field,
you can cancel the record by pressing Esc (Forget). If you
are in Enter mode, the record will not be added to the
database. If you are in Change mode, your changes will be
lost (the original record will be restored).


\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[372, *833, 834, 365]













































































Mask error: exceptions ARE allowed
\!────────────────────────────────────────────────────────────\~

The value that you entered violates the \#mask\~ defined for
this field. However, exceptions to the mask are allowed. 
To override the mask and accept this field, select "Permit"
from the Error box. To try another value, select "Retry"
from the Error box, and then enter another value for the
field.

If you cannot determine what is acceptable for this field,
you can cancel the record by pressing Esc (Forget). If you
are in Enter mode, the record will not be added to the
database. If you are in Change mode, your changes will be
lost (the original record will be restored).

\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[372, *833, 834, 365]













































































Required field is blank
\!────────────────────────────────────────────────────────────\~

The current record contains a field(s) that must be filled
before you can save the record.  All fields defined as
\#required\~ must contain a value.

If you do not have the necessary information to enter into
the field(s), you can cancel the record by pressing Esc
(Forget). If you are in Enter mode, the record will not be
added to the database. If you are in Change mode, your
changes will be lost (the original record will be restored).




\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[377, *833, 834, 365]













































































\*101































































































\*101































































































Error incrementing field - Update mode
\!────────────────────────────────────────────────────────────\~

Alpha Four could not increment this field. Check the field's
type and size.

Your field must contain at least one alphanumeric character,
as Alpha Four only increments letters and numbers.

If the field is at its maximum value and width, Alpha Four
cannot increment it until you either re-set the value, or
\#reconfigure the database\~ to increase the field's width.




\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Field rules\~
\[679, *833, 834, 365]













































































\*119































































































Copy the value from the same field in the previous record
\!────────────────────────────────────────────────────────────\~

Copy the contents of this field in the previous record into
the current record.  Here, "previous" refers to the last
record viewed or entered.

This option is especially useful if you are entering many
records that contain common information.

When you use this option, any data already stored in the
field is replaced with the data copied from the previous
record's field.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Copy the entire previous record
\!────────────────────────────────────────────────────────────\~

Copy the contents of the entire previous record into the
current record.  Here, "previous" refers to the last record
viewed or entered.

This option is useful if you are entering records with a lot
of common data, and only need to change a few fields.

Once the record is copied, you can edit any of its fields as
necessary before saving the record.

When you use this option, any data already stored in the
record is replaced with the data copied from the previous
record.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Recalculate computed fields and re-establish links (in sets)
\!────────────────────────────────────────────────────────────\~

Evaluate the expressions for all calculated fields (defined
in the field rules), and re-establish all links to child
databases (for sets).

If \#Recalculation mode\~ is set to manual, you must use this
option to see up-to-date results for your expressions. The
"Manual" flag appears on the status line.

If Recalculation mode is set to automatic, Alpha Four
automatically performs the necessary calculations when you
update the record. In automatic mode, no flag appears on the
status line.

\!════════════════════════════════════════════════════════════\~
\#Using help\~            \#Help topics\~           \#Default settings\~
\[124, *833, 834, 27]













































































Toggle the recalculation mode (Manual/Automatic)
\!────────────────────────────────────────────────────────────\~

Manual
\!──────────────────────────────\~
Does not re-evaluate expressions until you manually initiate
it with the Options, reCalculate computed fields command.

Recommended when you are adding or updating records that use
many calculated fields (using automatic mode in this case
slows data entry and updates).

Automatic
\!──────────────────────────────\~
Re-evaluates all expressions and re-establish links to
related records when you enter or change a field's value.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Undo any changes made to the current record
\!────────────────────────────────────────────────────────────\~

Cancel all changes to the current record.

If you are in Change mode, Alpha Four restores the original
record (as it was before you entered Change mode).

If you are in Enter mode, Alpha Four re-displays the blank
record and you can begin entering it again.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Insert the current system date
\!────────────────────────────────────────────────────────────\~

Insert the date into the current field.

The date is based upon your computer's system date (set with
the DOS DATE command).

The date appears in the format, MM-DD-YYYY, as in
07-04-1992.

You can insert the date only into date and character fields.
If the field already contains data, it is replaced with the
current date.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using a lookup table
\!────────────────────────────────────────────────────────────\~

The lookup window displays a table containing pre-defined
values for the current field.

If the lookup validation is "Exists", the lookup table
contains the list of acceptable values. If the validation is
"Doesn't exist", the lookup table contains the list of
excluded values. If the validation is "None", the lookup
table contains a list of optional values.

To select a value from the lookup window, position the
highlight over it and press Enter. Alpha Four will copy the
selected value, and any associated data, from the lookup
table into corresponding fields in the current record.
\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~             \#Moving around\~
\[*833, 834, 885]













































































Using a cascading lookup table
\!────────────────────────────────────────────────────────────\~
A cascading table organizes a lengthy set of possible values
for the field. The lookup window initially displays the
first in a series of tables in the cascading table.

Press Enter to select a choice. Each choice either displays
the next table in the series or enters a pre-defined value
for the current field. Any associated data, from a lookup
mapping is copied into corresponding fields.

If the lookup validation is "Exists", listed cascading
lookup table values are acceptable values for the field. If
the validation is "Doesn't exist", listed values are those
excluded from the field. If the validation is "None", listed
values are optional (may or may not be used for the field).
\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~             \#Moving around\~
\[*833, 834, 886]













































































Using a lookup database
\!────────────────────────────────────────────────────────────\~

The lookup window displays a database containing pre-defined
values for the current field.

If the lookup validation is "Exists", the lookup database
contains the list of acceptable values. If the validation is
"Doesn't exist", the lookup database contains the list of
excluded values. If the validation is "None", the lookup
database contains a list of optional values.

To select a value from the lookup window, position the
highlight over it and press Enter. Alpha Four will copy the
selected value, and any associated data, from the lookup
database into corresponding fields in the current record.
\!════════════════════════════════════════════════════════════\~
\#Using help\~    \#Help topics\~   \#Moving around\~    \#Finding records\~
\[*833, 834, 887, 888]













































































\*113






























































































































































































\*56































































































\*42































































































Available browse tables
\!────────────────────────────────────────────────────────────\~

Select a browse table by either highlighting it and pressing
Enter, or by typing the corresponding letter.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*44































































































\*45































































































\*46































































































\*56

































































































































































































Save as
\!────────────────────────────────────────────────────────────\~

Select a new Id (from A through Z) from the list of
available Ids that Alpha Four displays. If a particular Id
is not displayed, it has already been used.

Select the Id either by highlighting it and pressing Enter,
or by typing the appropriate letter. The file's original Id
is highlighted.







\!════════════════════════════════════════════════════════════\~
\[*833, 834]













































































Selecting fields for a Quick report
\!────────────────────────────────────────────────────────────\~

Select a field to be placed in the report design. First,
select the database containing the field from the list that
appears (highlight it, or type its name, and press Enter).

Next, Alpha Four displays the list of fields for the
selected database. When you select the appropriate field,
Alpha Four places the fieldname in the "Field" column on the
Field Selection screen.

 \!┌─ \~Note \!─────────────────────────────────────────────────┐\~
 \!│\~ The fields appear on the report design in the order in \!│\~
 \!│\~  which they are listed on the Field Selection screen.  \!│\~
 \!└────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*174































































































The Range and Print Settings screen
\!────────────────────────────────────────────────────────────\~

Define stored range and print settings.

Using stored settings simplifies routine printing because
the \#range settings\~, \#print destination\~, \#output drive/filename
specification\~, and \#printer setup\~ are pre-defined and do not
have to be specified at print time.

You can define the stored settings so that Alpha Four uses
them as default values, but allows you to modify them at
print time. Or, you can define the settings so that Alpha
Four uses them as they are, without letting you change them.

Press F10 (Continue) to return to the layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, 702, 706, 700, *833, 834]













































































Re-ordering fields in the Field Selection screen
\!────────────────────────────────────────────────────────────\~

The fields appear on the report design in the order in which
they are listed on this screen. Use F4 (Move) to re-order
the fields.

Highlight the field you want to move, and press F4 (Move).
Then use Up and Down to move the highlight to the field's
new location, and press Enter.

Alpha Four re-orders the list of fields accordingly.

Use F5 (Delete) to delete the currently highlighted field,
and F6 (Insert) to insert a row above the current field. You
can then select a field in the new row.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter a fieldname
\!────────────────────────────────────────────────────────────\~

Enter the name of a field to place on the report design. If
you are using a set, prefix the fieldname with its database
name, as in MAILLIST->COMPANY.

Press F2 (Fields) to select from the list of available
fields and to \#define calculated fields\~.

Press F4 (Move) to re-order fields (they appear on the
report design in the order in which they are listed here).

Press F5 (Delete) to delete a field from the screen, and F6
(Insert) to insert a blank row so you can add another field.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[174, *833, 834]













































































Enter the field's length
\!────────────────────────────────────────────────────────────\~

Enter the number of characters from the field to be included
in the report, form, browse table, or mail label. For
example, if a field's length is 20, your design can include
anywhere from 1 to 20 characters of the field.

As a default, Alpha Four displays the field's length as it
is specified in the database definition.

For numeric fields, the negative sign, the decimal point,
and the \#decimal places\~ all contribute to the field's length.



\!════════════════════════════════════════════════════════════\~
\#Using help\~                 \#Help topics\~                \#Window\~
\[151, *833, 834, 147]













































































Enter the field's display window size
\!────────────────────────────────────────────────────────────\~

Enter the number of characters from the field to be printed
or displayed on the report, form, or browse table.

If this value is smaller than the \#"Length"\~ value, Alpha Four
displays or prints the field in multiple lines. For example,
if the "Length" is 300 and the "Window" is 50, Alpha Four
will break the field into 6 lines. The "Window" value can
never be larger than the "Length" value.

          \!┌─ \~Note \!───────────────────────────────┐\~
          \!│\~ \#Multi-line windows\~ are useful for    \!│\~
          \!│\~ printing and displaying \#memo fields\~. \!│\~
          \!└──────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[146, 916, 56, *833, 834]













































































Enter the field's justification
\!────────────────────────────────────────────────────────────\~

Specify how the field's value should be aligned within its
display window.

For example, the boxes below represent the 8-character
window for the NAME field, and show how the value "Bill"
would be aligned within the window for each justification.

                                          ┌───NONE───┐
    LEFT       CENTER      RIGHT      Character   Numeric
 \!┌────────┐\~ \! ┌────────┐\~  \!┌────────┐\~ \! ┌────────┐\~ \! ┌────────┐\~
 \!│\~Bill    \!│\~  \!│\~  Bill  \!│\~  \!│\~    Bill\!│\~  \!│\~Bill    \!│\~  \!│\~    12.5\!│\~
 \!└────────┘\~  \!└────────┘\~  \!└────────┘\~  \!└────────┘\~  \!└────────┘\~
\#Labels\~ provide a different set of justification options.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[223, *833, 834]













































































The Data option determines when the field's value prints
\!────────────────────────────────────────────────────────────\~

The report below prints only the "Unique" (first) occurrence
of each DEPARTMENT, but prints every "Value" for LASTNAME:

\!      ┌──────────────────────────────────────────────┐  \~
      \!│\~  DEPARTMENT        LAST_NAME    SOC_SEC_NO   \!│\~  
      \!│\~  ===============   ==========   ===========  \!│\~  
      \!│\~  Human Resources   Adams        012-54-1215  \!│\~  
      \!│\~                    Adams        029-87-7665  \!│\~  
      \!│\~                    Barklee      099-43-9012  \!│\~  
      \!│\~  Marketing         Cronin       012-22-2143  \!│\~  
      \!│\~                    Jones        013-57-6868  \!│\~  
      \!│\~                    Jones        029-56-3421  \!│\~  
\!      └──────────────────────────────────────────────┘  \~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter formatting codes for the field
\!────────────────────────────────────────────────────────────\~

Enter up to four format codes to be used in combination for
controlling how fields are displayed and printed:

- Character fields: Control capitalization and word wrap.

- Numeric fields: Control currency name/symbol, expanded
  (spelled out) format, and zero-fill.

- Date fields: Choose from 10 variations on the date format.

- Memo fields: Control word wrap and auto-expansion of
  field.

\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Character\~   \#Numeric\~   \#Date\~   \#Memo\~
\[*833, 834, 226, 227, 228, 229]













































































Enter the number of decimal places to be used with the field
\!────────────────────────────────────────────────────────────\~

For numeric fields, specify the number of decimal places to
display or print.

Numeric fields can contain up to 14 decimal places.

The decimal places (and the decimal point) contribute to the
field's overall \#length\~. Thus, if a field has a length of 10
and you specify 5 decimal places, Alpha Four will display 4
digits before the decimal point.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[146, *833, 834]













































































Inserting a blank line
\!────────────────────────────────────────────────────────────\~
Insert a blank line into your report, form, or mail label
design. 

Alpha Four inserts the blank line at the cursor's current
position, pushing down any lines below it. 

To insert a blank line at the bottom of a report section,
use the \#Add line to bottom of section\~ command.

Blank lines will not be printed if you have specified
Suppress Blank Lines on the Report Parameters screen. You
can, however, force a blank line to print by including the
non-suppressible character (Ctrl-Backspace) anywhere in the
line.
\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Delete line\~
\[154, *833, 834, 153]













































































Deleting a line
\!────────────────────────────────────────────────────────────\~

Delete a line from your report, form, or mail label design.
Alpha Four deletes the line currently marked by the cursor.

If the line contains any fields or text, they will be also
deleted.

Any lines below the deleted line will be pulled up to close
the gap.





\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Insert line\~
\[*833, 834, 152]













































































Adding a blank line at the end of the current report section
\!────────────────────────────────────────────────────────────\~

Add at blank line at the bottom of the current report
section.

Alpha Four always adds the line to the bottom of the current
report section. To add a blank line "within" the report
section, refer to the \#Insert line\~ command.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[152, *833, 834]













































































Draw a line using a specified character
\!────────────────────────────────────────────────────────────\~

Use this command to draw a line across the report, form, or
mail label design.

Alpha Four prompts you for the character with which to draw
the line. Press any printable character.

Alpha Four draws a line across the design, using the
selected character. The line begins from the cursor's
current position and extends all of the way across the
design.

Tip: To quickly delete a line of text, fill it with blank
spaces.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Left justifying a text line
\!────────────────────────────────────────────────────────────\~

Align text at the left edge of the report, form, or mail
label design, leaving any extra space to the right.

This command works only on TEXT lines; it will not work if
the line also contains a field.

       In the box below, the text is left justified:
       \!┌────────────────────────────────────────────┐\~
       \!│\~This command works only on TEXT.            \!│\~
       \!└────────────────────────────────────────────┘\~



\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~       \#Center\~       \#Right justify\~
\[*833, 834, 157, 158]













































































Centering a text line
\!────────────────────────────────────────────────────────────\~

Center text in the report, form, or mail label design,
leaving equal space to the left and to the right.

This command works only on TEXT lines; it will not work if
the line also contains a field.

          In the box below, the text is centered:
\!       ┌────────────────────────────────────────────┐\~
       \!│\~      This command works only on TEXT.      \!│\~
       \!└────────────────────────────────────────────┘\~



\!════════════════════════════════════════════════════════════\~
\#Using help\~    \#Help topics\~     \#Left justify\~     \#Right justify\~
\[*833, 834, 156, 158]













































































Right justifying a text line
\!────────────────────────────────────────────────────────────\~

Align text at the right edge of the report, form, or mail
label design, leaving any extra space to the left.

This command works only on TEXT lines; it will not work if
the line also contains a field.

       In the box below, the text is right justified:
\!       ┌────────────────────────────────────────────┐\~
       \!│            \~This command works only on TEXT.\!│\~
\!       └────────────────────────────────────────────┘\~



\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~       \#Center\~       \#Left justify\~
\[*833, 834, 157, 156]













































































Left margin
\!────────────────────────────────────────────────────────────\~

Specify the number of spaces that Alpha Four should skip at
the beginning of each line when printing the report, form,
browse table, mail label, or form letter.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Top margin
\!────────────────────────────────────────────────────────────\~

Specify the number of lines to leave blank at the top of
each page in the report, forms, browse table, and letters.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Bottom margin
\!────────────────────────────────────────────────────────────\~

Specify the number of lines to leave blank at the bottom of
each page in the report, forms, browse table, and letters.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Standard page length
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you will be printing your report, form, or
browse table with the page length defined in the \#printer
configuration\~ that you will be using.

If not, select "No" and then fill in the page length at the
"Page length" prompt, which appears next.

      \!┌─ \~Note \!──────────────────────────────────────┐\~
      \!│\~ For examples on using the non-standard page \!│\~
      \!│\~ length in a report, refer to the "Check     \!│\~
      \!│\~ Writing" examples at the end of Chapter 12, \!│\~
      \!│\~ in the Alpha Four Reference Manual.         \!│\~
      \!└─────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[25, *833, 834]













































































Page length
\!────────────────────────────────────────────────────────────\~

If you selected "No" at the "Standard page length" prompt,
you must specify what page length you will be using. Enter
the number of lines to be printed on each page.

Bear in mind that the page length depends upon the number of
lines-per-inch that your printer prints. For example, if
your printer prints 6 lines-per-inch, an 8½-by-11 inch page
holds 66 lines (so 66 is your page length). If your printer
prints 8 lines-per-inch, that same page will hold 88 lines
(so your page length would be 88).

If you use a non-standard page length, Alpha Four will
advance the page using linefeeds instead of a formfeed.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating and editing a report
\!────────────────────────────────────────────────────────────\~

Create or edit a report, using the information stored in the
current database or set.

Alpha Four lets you store up to 26 reports for each database
or set. Your report can use any fields in the underlying
database. If your report is based upon a set, it can use
fields from any database in the set.

In addition, your report can include \#system fields\~,
\#calculated fields\~, and \#summary fields\~.

You report can contain up to 9 \#levels of grouping\~.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[939, 174, 175, 182, *833, 834]













































































Borrow a report
\!────────────────────────────────────────────────────────────\~

Borrow a report from another database or set. 

This command allows you to make a copy of a report layout
that you previously designed for another database or set.

You can use the copy as is, or edit it if you would like to
make changes to it.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing a report
\!────────────────────────────────────────────────────────────\~

Erase a report belonging to the current database or set.

           \!   ┌─\~ Warning\! ──────────────────────┐\~
              \!│\~ Once a report has been erased, \!│\~
              \!│\~ it cannot be recovered.        \!│\~
       \!   \~    \!└────────────────────────────────┘\~







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Quick Setup versus Custom Report
\!────────────────────────────────────────────────────────────\~

Quick Setup
\!──────────────────────────────\~
This method is recommended for beginners, as it provides a
convenient headstart on designing your report. Alpha Four
lets you quickly select the fields to include in the report,
and places them for you, using a basic layout and formats.

Custom Report
\!──────────────────────────────\~
This method lets you design your report from scratch. More
experienced users should select this method, as it provides
greater flexibility than the Quick Setup. You manually place
all of the fields, in the appropriate report sections.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































The Report Parameters screen
\!────────────────────────────────────────────────────────────\~

The report parameters control:

- The number of levels into which records are \#grouped\~

- Margins and page breaks

- Where and when titles, headers, and footers are placed

- Whether blank lines are suppressed

- How widows, orphans, and split records will be handled.

Press F10 (Continue) to return to the Report Layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[182, *833, 834]













































































The Grouping Parameters screen
\!────────────────────────────────────────────────────────────\~

Define the group break fields and specify how the titles,
headers, and footers are handled for each level of grouping.

The \#group break field\~ determines how records are divided
into the various groups. For example, if you use the
DEPARTMENT field as a group break field, then Alpha Four
will begin a new grouping for every new DEPARTMENT name.

For each group, you can specify how and when titles,
headers, and footers should be printed, and whether the test
that checks if a break field has changed is case sensitive.

Press F10 (Continue) to return to the Report Layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[197, *833, 834]













































































Inserting and deleting report sections
\!────────────────────────────────────────────────────────────\~

Select an option by highlighting it and pressing Enter. Then
select the \#report section\~ to insert or delete from the list
that appears next. Each section may be used only once, but
will print within the report as often as needed.

If you leave an empty section in the report design and
"Suppress blank lines" is "No" in the Report Parameters
screen, those blank lines will print in the report. If you
delete all of the lines within a section, Alpha Four
automatically deletes that section from the report design.

To add a Group Header or Footer, first increase the "Number
of grouping levels" in the Report Parameter screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[938, *833, 834]













































































































































































Placing a field
\!────────────────────────────────────────────────────────────\~

Select a field and place it in the layout.

First, Alpha Four displays the list of available databases.
Select the database containing the field that you want to
place in the design. 

Next, Alpha Four displays the list of fields for the
selected database. Select the appropriate field. Alpha Four
places the field marker on the layout screen.

After you have placed a field on the layout, you can
lengthen or shorten the field marker by placing the cursor
in it and pressing the + (lengthen) and - (shorten) keys.
\!════════════════════════════════════════════════════════════\~
\#Using help\~           \#Help topics\~          \#Formatting options\~
\[*833, 834, 176]













































































Place a field's title
\!────────────────────────────────────────────────────────────\~

Select a field and place its title on the report design
(instead of the actual field). This is helpful for using the
field's name as a column title in the report.

Alpha Four displays the list of available databases. Select
the database containing the field whose title you want to
place.

Next, Alpha Four displays the list of fields for the
selected database. Select the appropriate field. Alpha Four
places the actual fieldname on the report design, instead of
the field marker.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Calculated fields
\!────────────────────────────────────────────────────────────\~
A calculated field derives its value from an expression,
optionally involving other fields from the database or set.
Calculated fields can also refer to script variables.

Alpha Four allows up to 128 calculated fields per report,
form, browse table, or mail label.

In the Calculated Fields screen that appears next, enter a
name for the calculated field, and press Enter. Then enter
an appropriate expression.

Select and place calculated fields like any other fields.
Calculated fields are "stored" in the CALCULATED database.

\!════════════════════════════════════════════════════════════\~
 \#Using help\~  \#Help topics\~  \#Expressions\~  \#Functions\~  \#Operators\~
\[*833, 834, 914, 889, 909]













































































Summary fields
\!────────────────────────────────────────────────────────────\~

A summary field computes the total, average, count, etc.,
for a selected field at a particular level (i.e., per group,
per page, for the overall report) within the report.

Alpha Four allows up to 128 summary fields per report.

In the Summary Fields screen that appears next, enter the
\#summary field's name\~, and press Enter. Then specify the
\#field to be summarized\~ and select the \#summary type\~, the
\#summary level\~, the \#ignore mode\~, and the \#process mode\~.

Select and place summary fields like any other fields.
Summary fields are "stored" in the SUMMARY database.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[286, 287, 288, 289, 290, 291, *833, 834]













































































Formatting Options
\!────────────────────────────────────────────────────────────\~

Define formatting options, which control how a field's value
is displayed or printed. The Formatting Options screen
displays:

- The field's number (indicates ordering in design)
- The field's name
- The field's type (Character, Numeric, Date, Memo, Logical)
- The section (reports) or page (forms) the field is in
- Whether the field uses colors (forms, browse tables)
- The field's length, display window, justification, display
  format, and number of decimal places.

Press F10 (Continue) to return to the layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select a field
\*172






























































































\*174































































































Using the Report Layout screen
\!────────────────────────────────────────────────────────────\~

Place fields and text exactly as you want them to appear
when the report is printed. Be sure to place them in the
appropriate \#report sections\~.

You can draw lines on the report and type any text. You can
\#group records\~ in up to 9 nested groups.

Use the \#editing keys\~ to move around the report design.

Use the \#function keys\~ to place fields, add/delete sections,
add/delete/justify/draw lines, and switch to related
screens.

\!════════════════════════════════════════════════════════════\~
   \#Using help\~         \#Help topics\~         \#Shortcut keys\~
\[938, 182, 930, 929, *833, 834, 872]













































































Report description
\!────────────────────────────────────────────────────────────\~

Enter a brief description of the report you are designing.
The description will make it easier for you, and for other
people, to identify the report.

For example, if you design several different reports for a
particular database, you might want each report's
description to mention the purpose of the report, or to list
some of the fields contained in it.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Report width
\!────────────────────────────────────────────────────────────\~

Enter the width of the report, in columns (i.e., spaces, or
characters). Be sure to use a width that your printer can
handle.

Alpha Four allows reports to be from 40 to 240 characters
wide.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Grouping records in a report
\!────────────────────────────────────────────────────────────\~

Reports can group records in up to 9 nested groups. Grouping
is based upon the contents of one or more fields ("break
fields") in the database.

For example, an expense report may use 2 levels of grouping:
first by DEPARTMENT, and then within each DEPARTMENT, by
employee LAST_NAME. An invoice report may use three levels
of grouping, categorizing records by invoice DATE, then by
COMPANY name, and finally by INVOICE number.

Enter "0" if you do not want to group records.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Default spaces between fields
\!────────────────────────────────────────────────────────────\~

Enter the number of spaces to skip between fields on your
report design.

For example, if you want to leave 6 blank spaces between
fields (columns) on the report, enter 6.

Alpha Four uses a default of 3 blank spaces between fields
(columns) on the report.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Print Titles only on page 1
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the Titles section to print only on
the first page of the report.

if you select "No", the Titles will appear on each new page
(or in each new group).

The Titles section prints just before the Detail section.

\!┌─ \~Note \!───────────────────────────────────────────────────┐\~
\!│\~ When you use 1 or more levels of grouping in a report,   \!│\~
\!│\~ the \#Grouping Parameters screen\~ gives you further control \!│\~
\!│\~ over how the Titles section is used within each group.   \!│\~
\!└──────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[169, *833, 834]













































































Print Page Footer only on page 1
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the Page Footer section to print
only on the first page of the report. This is useful when
the Page Footer contains a message that should appear only
at the beginning of the report (such as "Confidential").

If you select "No", the Page Footer will print at the bottom
of every page in the report.

\!┌─ \~Note \!───────────────────────────────────────────────────┐\~
\!│\~ When you use 1 or more levels of grouping in a report,   \!│\~
\!│\~ the \#Grouping Parameters screen\~ gives you further control \!│\~
\!│\~ over how the Page Footer is used within each group.      \!│\~
\!└──────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[169, *833, 834]













































































Print Summary Section on separate page
\!────────────────────────────────────────────────────────────\~

The Summary section prints once, at the end of the report.
Select "Yes" if you want the Summary section to begin on a
new page.

If you select "No", Alpha Four will begin printing the
Summary section immediately following the last Detail record
or Group Footer.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Suppress blank lines
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to automatically strip
blank lines from the output. Every blank line in your layout
will be suppressed at print time.

If you still want to include some blank lines in your
design, you can designate them as "non-suppressible". Press
Ctrl-BackSpace anywhere on the line; Alpha Four inserts a
special marker () on the non-suppressible blank line.

Select "No" if you want the report to appear exactly as it
appears in the Report Layout screen (blanks and all). In 
this case, make sure that your layout's spacing is exactly
as you want the output to appear.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Blank line after how many records
\!────────────────────────────────────────────────────────────\~

Enter the number of records to print before skipping a line.
For example, to leave a blank line after every fifth record,
enter "5".

Leaving a blank line between records helps make the report
more readable.

Enter 0 if you do not want to insert any blank lines.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Page breaks
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to insert page breaks in
the output. If you use page breaks, page headers and footers
(if defined) are printed on each page.

The page size is determined by your answers to the "Standard
page length" and "Page length" prompts (which appear later
in the Parameters screen), or by the settings in your
\#printer configuration\~ (if you select "Yes" at the "Standard
Page Length" prompt).

If you select "No" at the "Page breaks" prompt, Alpha Four
prints your output as one continuous page. If you used page
headers and footers, each appears only once.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[25, *833, 834]













































































Widow record count
\!────────────────────────────────────────────────────────────\~

A "widow" is a Group Header that prints at the bottom of a
page, with its detail records beginning on the next page.

To prevent widows, enter the number of records that must
appear on the same page as each Group Header.

If Alpha Four cannot fit both the Group Header and the
specified number of records on the current page, it will
begin them on the next page.

Enter "0" if you do not mind widows in your report.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Orphan record count
\!────────────────────────────────────────────────────────────\~

An "orphan" is a Group Footer that prints at the top of a
page, with its detail records printed on the previous page.

To prevent orphans, enter the number of records that must
appear on the same page as each Group Footer.

If Alpha Four cannot fit both the specified number of
records and the Group Footer on the current page, it will
begin printing them on the next page.

Enter "0" if you do not mind orphans in your report.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Split lines count
\!────────────────────────────────────────────────────────────\~

If your \#Detail\~ section spreads each record over two or more
lines, a record may be split over a page break when the
report is printed. This often occurs when you use a
\#multi-line window\~, for example, for printing memo fields.

You can specify how many lines of each record must fit on a
page. If Alpha Four cannot fit the specified number of lines
on the current page, it will begin the record on a new page.

If you do not care whether a record is split over a page
break, enter "0". If you never want records to be split,
enter the total number of lines in the Detail section.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[938, 916, *833, 834]













































































Max records per page
\!────────────────────────────────────────────────────────────\~

If you want to restrict the printout to a particular number
of records per page, enter that number here. Each page will
contain AT MOST that number of records (perhaps fewer).

If you do not care how many records are printed on each
page, enter "0".







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Reset page number after a group
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to begin numbering pages
from "1" for each group. For example, the first group may
end on page 11. The second group will begin on page 1 again.

Select "No" if you want the entire report to use continuous
page numbering (so that the second group would begin on page
12).






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Re-print group header after a page break
\!────────────────────────────────────────────────────────────\~

Sometimes a page break occurs in the middle of a group. If
you select "Yes" here, Alpha Four will re-print the Group
Header on the next page, before continuing with the rest of
the group.

if you select "No", the group will simply continue from the
top of the next page.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Move a group to a new level
\!────────────────────────────────────────────────────────────\~

F4 (Move) allows you to move a \#group break field\~ to a new
level, thus re-ordering the grouping levels. For example,
suppose you are designing an invoice report with 3 levels of
grouping, and you want to re-order groups 1 and 2:

            \!───────\~Before\!───────\~    \!────────\~After\!───────\~
  Group 1:  INVOICES->INV_DATE \! ┌──∙\~INVOICES->COMPANY
  Group 2:  INVOICES->COMPANY\!∙──┘\~ \! \~ INVOICES->INV_DATE
  Group 3:  INVOICES->INV_NUMBER    INVOICES->INV_NUMBER

Position the cursor on the level to move, and press F4
(Move). Then use Up and Down to move the break field to its
new level. Finally, press Enter to complete the move.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[197, *833, 834]













































































Select or enter a fieldname
\!────────────────────────────────────────────────────────────\~

Enter the name of the group break field, which determines
when one group ends and the next begins. For example, if you
use DEPARTMENT as the group break field, all of the records
containing the same department name will appear in one
group. When the department name changes, a new group begins.

Use F2 (Fields), select Field to \#select a fieldname\~ from one
of the available databases. Use F2 (Fields), define
Calculated fields to define a \#calculated field\~, which can
then be selected as a group break field.

Use F5 (Delete Group) and F6 (Add Group) to delete or add
grouping levels (the Report Parameters are updated for you).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[172, 174, *833, 834]













































































Re-print titles at group break
\!────────────────────────────────────────────────────────────\~

Choose whether to re-print the Titles section when a group
break occurs (that is, when one group ends and a new group
begins at the same level).

If you select "After Header", Alpha Four prints the Titles
section AFTER the new Group Header.

If you select "Before Header", Alpha Four prints the Titles
section BEFORE the new Group Header.

If you select "No", the Titles section is NOT printed within
the new group.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Start group header on new page
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want each new group at this level to
begin on a new page.

If you select "No", each new group will begin on the current
page.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Substitute group header for page header
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to print the Group Header in place
of the Page Header, rather than printing both. To do this,
you should also select "Yes" at the "Start Group Header on
new page" prompt.

If you select "No", the Page Header will print at the top of
each page, as usual. The Group Header will print once, at
the beginning of each group.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Start group footer on new page
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the Group Footer to begin on a new
page.

If you select "No", the Group Footer will begin printing
immediately after the last detail record in the group.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Substitute group footer for page footer
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to print the Group Footer in place
of the Page Footer, rather than print both. To do this, you
should also select "Yes" at the "Start Group Header on new
page" prompt, to ensure that the next group begins on a
different page.

If you select "No", the Page Footer will print at the bottom
of each page, as usual. The Group Footer will print once, at
the end of each group.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Case-sensitive test for group breaks
\!────────────────────────────────────────────────────────────\~

Alpha Four tests for a group break by comparing the value in
the break field in the current record with the value in the
break field in the previous record. If the values differ, a
new group begins.

Select "Yes" if you want this test to be case sensitive --
that is, "SMITH", "Smith", and "smith" will be treated as
the same value, and will all be included within the same
group.

If you select "No", the test will be case insensitive --
that is, "SMITH", "Smith", and "smith" will be treated as
three different values, so each will begin a new group.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating and editing a mail label
\!────────────────────────────────────────────────────────────\~

Create or edit a mailing label, using the information stored
in the current database or set.

Alpha Four lets you store up to 26 label designs for each
database or set. Your labels can use any fields in the
current database. If they are based upon a set, the labels
can use fields from any database in the set.

In addition, your labels can include \#system fields\~ and
\#calculated fields\~.

You can design labels to fit a variety of label sizes; Alpha
Four provides the dimensions for several common sizes.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[939, 174, *833, 834]













































































Borrow a label
\!────────────────────────────────────────────────────────────\~

Borrow a label layout from another database or set. 

This command allows you to make a copy of a label layout
that you previously designed for another database or set.

You can use the copy as is, or edit it if you would like to
make changes to it.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing a mail label
\!────────────────────────────────────────────────────────────\~

Erase a mail label design belonging to the current database
or set.

           \!   ┌─\~ Warning\! ──────────────────────┐
\~              \!│\~ Once a label design has been   \!│\~
              \!│\~ erased, it cannot be recovered.\!│\~
       \!   \~    \!└────────────────────────────────┘
\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































The Label Parameters screen
\!────────────────────────────────────────────────────────────\~

The label parameters control:

- The dimensions of the label design

- The number of labels per page and across each row

- The margins for each page of labels

- Whether the labels are designed for continuous-feed or
  single sheets of paper.

Press F10 (Continue) to return to the Mail Labels Layout
screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Pre-defined label sizes
\!────────────────────────────────────────────────────────────\~

Select a label size either by highlighting it and pressing
Enter. 

Next, specify the number of character per inch and lines per
inch at which the label will be printed. 

Alpha Four then returns you to the Label Parameters screen,
with the appropriate dimensions filled in.

You can modify any of the dimensions as needed.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*172






























































































Place a field AND its title in the layout
\!────────────────────────────────────────────────────────────\~

Place a field on the layout, using its fieldname as a title.

First, Alpha Four displays the list of available databases.
Select the database containing the field that you want to
place in the design.

Next, Alpha Four displays the list of fields for the
selected database. Select the appropriate field. Alpha Four
places the fieldname and a field marker on the layout
screen.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*174































































































\*176































































































Using the Mail Labels Layout screen
\!────────────────────────────────────────────────────────────\~

Place fields and text on the sample label, exactly as you
want them to appear in the printed labels. The half-tone
rectangles represent adjacent labels as they would appear on
the printout.

You can draw lines on the labels, type your own text, and
use actual fieldnames as titles. 

Use the \#editing keys\~ to move around the report design.

Use the \#function keys\~ to place fields, add/delete sections,
add/delete/justify/draw lines, and switch to related
screens.
\!════════════════════════════════════════════════════════════\~
  \#Using help\~         \#Help topics\~        \#Shortcut keys\~
\[932, 931, *833, 834, 870]













































































Label description
\!────────────────────────────────────────────────────────────\~

Enter a brief description of the labels you are designing.
The description will make it easier for you, and for other
people, to identify the label design.

For example, if you design several mail labels for a
particular database, you might want each label design's
description to mention the purpose of the labels, or to list
some of the fields contained in them.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Label width
\!────────────────────────────────────────────────────────────\~

Enter the width of the label, in columns (i.e., spaces, or
characters). Be sure to use a width that fits on the labels
you will be using.

Alpha Four can design labels that are from 10 to 78
characters wide.

For example, if your label is 4 inches wide and you are
printed at 10 characters per inch, the width of the label is
40 characters.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Label height
\!────────────────────────────────────────────────────────────\~

Enter the height of the label, in lines. Alpha Four can
print labels that are from 1 to 20 lines high.

Keep in mind that the height of the label depends upon the
number of lines-per-inch that your printer prints.

For example, if your printer prints 6 lines-per-inch, a
label that is 1-inch tall holds 6 lines (so 6 is your label
height).

If your printer prints 8 lines-per-inch, that same label
will hold 8 lines (so your label height would be 8).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of labels across
\!────────────────────────────────────────────────────────────\~

Enter the number of labels to print across each row. Alpha
Four can print from 1 to 6 labels across a row.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of columns between labels
\!────────────────────────────────────────────────────────────\~

Enter the number of columns (spaces) to skip between labels,
within a row. For example, if you enter "5" here, Alpha Four
will skip 5 spaces before printing the next label on the
same row.

For example, if you are printing at 10 characters per inch
and there is .1 inches between each column of labels, you
must skip 1 column between labels.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of lines between labels
\!────────────────────────────────────────────────────────────\~

Enter the number of lines to skip between rows of labels.
For example, if you enter "3" here, Alpha Four will skip 3
lines before printing the next row of labels.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of copies of each label
\!────────────────────────────────────────────────────────────\~

Use one of the following to specify the number of copies:

- Constant: Alpha Four prints the specified number of copies
  of each label

- Fieldname: Alpha Four reads that field and prints the
  specified number of labels

- Expression: Alpha Four evaluates the expression to
  determine the number of copies of the label.

See Chapter 15 (Mail Labels) and Chapter 23 (Functions &
Expressions) in the Alpha Four Reference manual.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Print labels on continuous-feed paper
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you will be printing on continuous-feed
labels.

Select "No" if you will be printing on single sheets of
labels (as are used with laser printers). This allows you to
specify the number of rows per page, and to define page
margins.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































How many rows of labels per page
\!────────────────────────────────────────────────────────────\~

If you are printing on single sheets of labels, Alpha Four
needs to know how many rows of labels to print on each page.
Enter the number of rows of labels (from 1 to 99) that are
on each sheet. Alpha Four inserts a formfeed to eject the
page after the specified number of rows have been printed.

If you are printing on single sheets of labels on a laser
printer, you may also need to specify a top margin, so that
Alpha Four will know how many lines to skip before printing
the first row of labels. This is because single sheets of
labels generally begin the first complete row of labels
several lines down on the page.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Justifying labels
\!────────────────────────────────────────────────────────────\~

Specify how the field's value should be aligned within its
allotted length. The boxes below represent the 6-character
length of the NAME field, and show how "Bill" would be
aligned within that space for each justification.

                                           ┌───NONE──┐
 SUPPRESS   LEFT     CENTER     RIGHT  Character  Numeric
  \!┌────┐\~  \!┌──────┐\~  \!┌──────┐\~  \!┌──────┐ \~ \!┌──────┐\~  \!┌──────┐\~
  \!│\~Bill\!│\~  \!│\~Bill  \!│\~  \!│\~ Bill \!│\~  \!│\~  Bill\!│\~  \!│\~Bill  \!│\~  \!│\~  12.5\!│\~
  \!└────┘\~  \!└──────┘\~  \!└──────┘\~  \!└──────┘\~  \!└──────┘\~  \!└──────┘\~

The default, Suppress, strips trailing blanks from the
field, avoiding gaps before the following text and fields.
\!════════════════════════════════════════════════════════════\~
\#Using help\~            \#Help topics\~           \#Advanced options\~
\[*833, 834, 225]













































































Advanced justification options for labels (continued)
\!────────────────────────────────────────────────────────────\~

Float: If the preceding field uses Suppress, this field
       shifts left. This field does not suppress its own
       trailing spaces. Text following this field does
       not shift -- it prints exactly where you placed it.

Trim: This field prints exactly where you placed it, even if
      the preceding field uses Suppress. In addition, this
      field suppresses its trailing spaces. Text following
      this field shifts left.

Join: If the preceding field uses Suppress, this field
      shifts left. This field does NOT suppress its trailing
      spaces. Text following this field shifts left.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Advanced justification options for labels
\!────────────────────────────────────────────────────────────\~
After: The text following the field is assumed to be
       associated with the field. If the field is blank, the
       text is automatically deleted. 

Before: The text preceding the field is assumed to be
        associated with the field. If the field is blank,
        the text is automatically deleted.
         \!┌───────────────────────────────────────┐
\~         \!│\~        Ms. Susan Jenkins, PhD         \!│\~
         \!│\~  \!After\~ \!═══\~              \!═════ Before\~  \!│\~
         \!│\~        Ms. Susan Jenkins              \!│\~
         \!│\~        Susan Jenkins, PhD             \!│\~
       \!  └───────────────────────────────────────┘\~
Both Before and After suppress trailing blanks in the field.\!
════════════════════════════════════════════════════════════\~
\#Using help\~         \#Help topics\~         \#More advanced options\~
\[*833, 834, 224]













































































Character formats
\!────────────────────────────────────────────────────────────\~

Code   Format
\!──────\~ \!─────────────────────────────────────────────────────\~
 N     Uses the field exactly as it is stored
 C     Converts the entire field to uppercase
 L     Converts the entire field to lowercase
 F     Converts the first letter in the field to uppercase
 W     Converts the first letter in each word to uppercase
 X     Uses word wrapping to break lines between words
 Y     First letter in field is uppercase, the rest of the
         field is lowercase
 Z     First letter in each word is uppercase, the rest of
         the field is lowercase
 -     Deletes the entire LINE when the field is blank
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Numeric\~      \#Date\~      \#Memo\~
\[*833, 834, 227, 228, 229]













































































Numeric formats
\!────────────────────────────────────────────────────────────\~

Code   Format
\!──────\~ \!─────────────────────────────────────────────────────\~
 $     Inserts the currency sign and the thousands separator
 ,     Inserts the thousands separator
 X     Spells out the number in words
 X$    Spells out the number and adds the currency name
 B     Blanks out the number when it is zero
 *     Fills leading zeroes with asterisks
 -     Deletes entire LINE when number is blank

\!┌─\~ Note \!───────────────────────────────────────────────────┐\~
\!│\~ Expanded formats (X, X$) can also use character formats. \!│\~
\!└──────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Character\~     \#Date\~     \#Memo\~
\[*833, 834, 226, 228, 229]













































































Date formats
\!────────────────────────────────────────────────────────────\~

Code     Format                 Example
\!──────\~   \!────────────────────\~   \!────────────────────────────\~
 1       MM-DD-YYYY             10-31-1993  
 2       DD-MM-YYYY             31-10-1993
 3       DD Month YYYY          31 Oct 1993
 4       Month DD, YYYY         October 31, 1993
 5       MM-YY                  10-93
 6       MM-DD-YY               10-31-93
 7       DD-MM-YY               31-10-93
 8       Month DDxx, YYYY       October 31st, 1993
 9       DD-Mon-YY              31-Oct-93
 10      DD Mon YYYY            31 Oct 1993

\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~     \#Character\~     \#Numeric\~    \#Memo\~
\[*833, 834, 226, 227, 229]













































































Memo formats
\!────────────────────────────────────────────────────────────\~

Code   Format
\!──────\~ \!─────────────────────────────────────────────────────\~
 X     Uses word wrapping to break lines between words

 @     (Reports) Prints the entire memo field contents,
         ignoring the "Length" parameter

 !     (Forms, Browse tables) Displays the actual memo field
          contents in the window, instead of the "Memo..."
          label



\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~     \#Character\~     \#Numeric\~    \#Date\~
\[*833, 834, 226, 227, 228]













































































Choosing a database
\!────────────────────────────────────────────────────────────\~

Alpha Four displays the list of available databases. Select
the database containing the field that you want to place in
the design. All system fields are selected from the SYSTEM
database.

Once a database is selected, a list of available fields is
shown.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~           \#Help topics\~             
\[*833, 834]













































































Choosing a field
\!────────────────────────────────────────────────────────────\~

Alpha Four displays the list of fields for the specified
database. Select a field from this list.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~           \#Help topics\~             
\[*833, 834]















































































































































































Creating and editing a form
\!────────────────────────────────────────────────────────────\~

Create or edit a \#form\~, using the information stored in the
current database or set. Forms can be up to 25 screens, or
pages, long.

Your form can include any fields in the current database.

If the form is based upon a set, it can display fields from
any database in the set.  If you include fields from child
databases using scrollable regions, you can update these
fields as well as those from the set's primary database.

In addition, your form can include \#system fields\~, \#calculated
fields\~, and \#summary fields\~.
\!════════════════════════════════════════════════════════════\~
          \#Using help\~           \#Help topics\~          
\[883, 939, 174, 305, *833, 834, 0]













































































Selecting the active form
\!────────────────────────────────────────────────────────────\~

Select a form to use for displaying records in View mode.
You can also select the active form directly from View mode
with the Options, Choose a new form command.

Alpha Four displays a list of the forms for the current
database or set. The currently active form is highlighted.
The form named "0" is Alpha Four's own default form, which
contains all of the fields in the current database (or the
primary database of a set).

Select another form by highlighting it and pressing Enter.
Alpha Four returns you to the main menu (or to View mode if
appropriate); the newly selected form is now active.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Borrow a form
\!───────────────────────────────────────────────────────────\~

Borrow a form from another database or set. 

This command allows you to make a copy of a form layout that
you previously designed for another database or set.

You can use the copy as is, or edit it if you would like to
make changes to it.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing a form
\!────────────────────────────────────────────────────────────\~

Erase a form belonging to the current database or set.

           \!   ┌─ \~Warning\! ────────────────────┐
\~              \!│\~ Once a form has been erased, \!│\~
              \!│\~ it cannot be recovered.      \!│\~
       \!   \~    \!└──────────────────────────────┘
\~






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the Form Layout screen
\!────────────────────────────────────────────────────────────\~

Place fields and text exactly as you want them to appear
when the form is displayed or printed. A form can contain up
to 25 pages (screens).

You can draw boxes and lines on the form and type any text.
You can also re-define the form's prompt order (i.e., the
order in which the cursor moves from field to field).

Use the \#editing keys\~ to move around the report design.

Use the \#function keys\~ to place fields, draw boxes,
add/delete/justify/draw lines, \#add regions\~ to display linked
child records, and switch to related screens.
\!════════════════════════════════════════════════════════════\~
  \#Using help\~         \#Help topics\~       \#Shortcut keys\~        
\[935, 933, 238, *833, 834, 865]













































































Adding a Region
\!────────────────────────────────────────────────────────────\~

1. Position the cursor on the layout where you want the
   upper left corner of the region to appear.

2. Select F6 (Add Region).

3. Specify the region parameters, then press F10 (Continue).

4. Use the Down and Right arrow keys to define the size of
   the region.

5. Be sure the region is selected (appears highlighted) and
   use F2 (Fields) to place fields in the region.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               

\[*833, 834]












































































Moving a Region
\!────────────────────────────────────────────────────────────\~

1. Select the region by pressing Tab to move between the
   underlying form and the first region and between any
   additional regions.

2. Select F6 (Change Region) and then select Move Region.

3. Specify the region parameters, then press F10 (Continue).

4. Use the arrow keys to reposition the region on the form
   layout.

5. Press Enter to complete the move.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               

\[*833, 834]












































































Sizing a Region
\!────────────────────────────────────────────────────────────\~

1. Select the region by pressing Tab to move between the
   underlying form and the first region and between any
   additional regions.

2. Use the arrow keys to move the cursor onto the
   appropriate region boundary.

3. Select F6 (Change Region) and then select Size Region.

4. Use the arrow keys to re-size the region.

5. Press Enter to complete the operation.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               

\[*833, 834]












































































Deleting a Region
\!────────────────────────────────────────────────────────────\~

1. Select the region by pressing Tab to move between the
   underlying form and the first region and between any
   additional regions.

2. Select F6 (Change Region) and then select Delete Region.

3. Press Enter to confirm that you wish to delete the
   region.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               

\[*833, 834]












































































Form Parameters screen
\!────────────────────────────────────────────────────────────\~

The form parameters control how forms are printed,
specifically:

- The number of forms printed on each page

- Whether forms are printed with header lines, page
  numbers, and record numbers

- The margins used in printing the forms

- Whether blank lines are suppressed at print time.

Press F10 (Continue) to return to the Form Layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Form description
\!────────────────────────────────────────────────────────────\~

Enter a brief description of the form, something that makes
it easy to identify later.

For example, if you have three different forms for a
particular database, you might want each form's description
to mention the purpose of the form, or to list some of the
fields contained in it.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Menu bar type
\!────────────────────────────────────────────────────────────\~
Select the type of menu bar you want Alpha Four to display
at the bottom of the screen during data entry.

Standard
\!───────────────────────────\~
Select Standard to use the standard View and Browse mode
menu bar.

Custom
\!───────────────────────────\~
Select Custom to use a custom menu bar that you previously
defined using the Scripts, Create menu bar script option.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[245, *833, 834]













































































Menu bar type
\!────────────────────────────────────────────────────────────\~

Dynamic
\!───────────────────────────\~
Select Dynamic to specify an expression that evaluates to
the name of one of multiple custom menu bar scripts.  Alpha
Four displays the menu bar returned by the expression.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Menu bar script
\!────────────────────────────────────────────────────────────\~

Enter the name of the custom menu bar script.

Use F2 (Scripts) to display a list of script names.

During data entry, Alpha Four displays the custom menu bar
defined by the selected script instead of the standard View
or Browse mode menu bar.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Menu bar expression
\!────────────────────────────────────────────────────────────\~

Enter a valid Alpha Four expression that evaluates to the
name of a custom menu bar script.

Use F2 (Fields), F3 (Functions), and F4 (Scripts) to select
these components from a pop-up menu.

Use F8 (Window On) to display a larger editing window in
which to define the expression.  With the expression
entered, press F7 (Evaluate) to test it.

Alpha Four uses the custom menu bar script returned by this
expression.  If no menu bar script is found, Alpha Four
displays the standard menu bar.
\!════════════════════════════════════════════════════════════\~
\#Understanding expressions\~       \#Using help\~       \#Help topics\~
\[914, *833, 834]













































































\*93































































































\*94































































































\*95































































































\*96































































































Print record numbers
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to print the current
record number when the form is printed.

If you choose this option, each form is preceded with
"Record Number nnn" and the appropriate record number.

   \!┌─ \~Note \!──────────────────────────────────────────────┐\~
   \!│\~ Printing the record numbers is useful for numbering \!│\~
   \!│\~ the forms, provided you print them using the        \!│\~
   \!│\~ Record Number index. If you will be using another   \!│\~
   \!│\~ index, you can number the forms by placing the      \!│\~
   \!│\~ \#system field\~, CNTR_GRAND, within the form design.   \!│\~
   \!└─────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[939, *833, 834]













































































\*97































































































Suppress blank lines WITHIN form
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the blank lines within each form
suppressed at print time (the blanks will still be displayed
when you view the form).

If you select "Yes" here, you can still insert
"non-suppressible blank lines" by positioning the cursor
anywhere on the line and pressing Ctrl-BackSpace. Alpha Four
inserts a special marker () on the non-suppressible blank
line.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Suppress blank lines AT END of form
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the blank lines at the end of each
form suppressed at print time (the blank lines will still be
displayed when you view the form).

If you select "No", any blank lines that you leave at the
end of the last-used page of the form will be included in
the printout.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*172






























































































\*210































































































\*174































































































\*176






























































































Changing the prompt order
\!────────────────────────────────────────────────────────────\~

Modify the order in which the cursor moves from field to
field in the form during data entry.

By default, the cursor moves to the fields in the order in
which they were placed on the form.

If you moved fields after they were placed, or want to make
sure that one field is entered before another, you can
adjust the prompt order at any time in the \#Prompt Order
screen\~.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[266, *833, 834]













































































Drawing boxes
\!────────────────────────────────────────────────────────────\~

Draw a box using one of the line characters displayed in the
pop-up list. You can draw boxes around text and fields, or
enter text and fields within any box. Once drawn, a box is
treated as text, and can be edited, moved, or deleted.

Select the type of line for your box either by highlighting
your choice and pressing Enter, or by typing the
corresponding letter.

         \!┌─ \~Note \!─────────────────────────────────┐\~
         \!│\~ Line type "I" uses blank spaces, and   \!│\~
         \!│\~ is useful for erasing an existing box. \!│\~
         \!└────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Draw the box by moving the cursor
\!────────────────────────────────────────────────────────────\~

Alpha Four uses the cursor's original position as a corner
of the box (it can be any corner). Use Up, Down, Left, and
Right to move the cursor to the point representing the
opposite corner of the box.

As you move the cursor, the box will grow. When the box is
the correct size and shape, press Enter to complete it (or
Esc to cancel).





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Moving, copying, and deleting blocks of fields and text
\!────────────────────────────────────────────────────────────\~

Move, delete, or copy a block of text and fields in the
form.

If you include a partial field in the block, Alpha Four will
automatically extend the block to include the entire field.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Drag the block to its new location
\!────────────────────────────────────────────────────────────\~

Move the cursor to the block's new location.

Alpha Four "drags" the block across the screen as you move
the cursor. When the block is correctly positioned, press
Enter to complete the operation.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Define the area of the block
\!────────────────────────────────────────────────────────────\~

Designate the block by highlighting it, beginning from the
cursor's current position. Use the Up, Down, Left, and Right
keys to move the cursor. As the cursor moves, Alpha Four
highlights the contents of the block.

When the block is the correct size and shape, press Enter to
signal Alpha Four that you are ready for the next step.

If you are deleting the block, Alpha Four removes it from
the layout, and you are done.

If you are moving or copying the block, move the cursor to
the block's new location and press Enter to finish.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the Prompt Order screen
\!────────────────────────────────────────────────────────────\~
This screen lists the fields in prompt order, that is, the
order in which the cursor moves during data entry. Adjust
the prompt order by re-arranging the list of fields.

To move a field, highlight the field whose ordering you want
to modify, and press F4 (Move). Next, use Up and Down to
move the field to its new position.

When the field is in the correct position, press Enter to
complete the move. Alpha Four re-orders the remaining
fields.  Or, use F5 (Sort) to sort fields on the screen
"naturally" (i.e., from left to right, top to bottom).

Press F10 (Continue) to return to the Form Layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating and editing a form letter
\!────────────────────────────────────────────────────────────\~

Create or edit a form letter template, using Alpha Four's
built-in editor. Your form letter can use any fields from
the current database or set.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing a form letter
\!────────────────────────────────────────────────────────────\~

Erase a form letter belonging to the current database or
set.

           \!   ┌─ \~Warning\! ──────────────────────┐
\~              \!│\~ Once a letter has been erased, \!│\~
              \!│\~ it cannot be recovered.        \!│\~
       \!   \~    \!└────────────────────────────────┘
\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Letter Options































































































Letter print commands
































































































Enter the prompt to appear when the letters print
\!────────────────────────────────────────────────────────────\~

Enter the prompt to be displayed on the screen when Alpha
Four pauses for input while printing the letters. Just type
right over the "Prompt text" message that appears in the
box; Alpha Four will erase it when you begin typing.

When you print the letters, Alpha Four will pause and
display this message whenever the corresponding prompted
field is encountered. Enter the appropriate data and press
Enter. The information that you enter at the keyboard will
be incorporated into the current letter.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the name (and path) of the external file
\!────────────────────────────────────────────────────────────\~

Enter the filename (with the drive and path) of the external
file to be included in the letter. This file can be any
ASCII file or another Alpha Four form letter.

Alpha Four will not check the file specification until the
letters are printing. If it cannot find the file at that
time, printing will be aborted.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of decimal places
\!────────────────────────────────────────────────────────────\~

Enter the number of decimal places to be used when the field
is printed in the letter. Numeric fields can include up to
14 decimal places.

The field's length includes the decimal point and the
decimal places. For example, 73.8653 has a length of 7.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































































































































Justification
\!────────────────────────────────────────────────────────────\~

Specify how the field's value should be aligned within its
allotted length. The boxes below represent the 6-character
length of the NAME field, and show how "Bill" would be
aligned within that space for each justification.

                                           ┌───NONE──┐
 SUPPRESS   LEFT     CENTER     RIGHT  Character  Numeric
  \!┌────┐\~  \!┌──────┐\~  \!┌──────┐\~  \!┌──────┐ \~ \!┌──────┐\~  \!┌──────┐
\~  \!│\~Bill\!│\~  \!│\~Bill  \!│\~  \!│\~ Bill \!│\~  \!│\~  Bill\!│\~  \!│\~Bill  \!│\~  \!│\~  12.5\!│\~
  \!└────┘\~  \!└──────┘\~  \!└──────┘\~  \!└──────┘\~  \!└──────┘\~  \!└──────┘
\~
The default, Suppress, strips trailing blanks from the
field, avoiding gaps before the following text and fields.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Delete line if field is empty
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to delete the current
line from the letter when this field is blank.

This is useful, for example, for suppressing blank address
lines at the beginning of the letter. When you select "Yes"
at this prompt, Alpha Four will delete the entire line from
the letter if the field is blank.

If you select "No", Alpha Four will simply omit the field,
printing the rest of the letter as usual.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Currency format
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to print this numeric field using
the currency (money) format. Alpha Four will use the default
currency sign and thousands separator (defined via the
Other, Configuration, Default settings command), for
example, "$1,200.36".

If you also selected "Yes" at the "Extended format" prompt,
Alpha Four will spell out the currency name with the number,
as in "One thousand two hundred and 36/100 Dollars".

If you select "No", Alpha Four will print the number as
usual, using the number of decimal places specified at the
"Decimal place" prompt, below.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Extended format
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to spell out the number
in words, rather than using digits.

For example, the extended format for "336" is "Three hundred
thirty six".

If you also select "Yes" at the "Currency format" prompt
below, Alpha Four adds the currency name at the end of the
number.

If you select "No", Alpha Four will print the number as
usual.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Use fill mode?
































































































Conditional commands
\!────────────────────────────────────────────────────────────\~

If you are using a conditional statement in your form
letter, select the conditional commands from the list. Then
enter the appropriate paragraphs, using this structure:

[.IF expression1]
  paragraph (prints when expression1 is True)
[.ELSEIF expression2]
  paragraph (prints when expression2 is True)
[.ELSE]
  paragraph (prints when expressions 1 and 2 are False)
[.ENDIF]

You can nest up to 5 conditionals, using ELSEIF.
\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~             \#Expressions\~
\[*833, 834, 914]













































































Define the area of the block
\!────────────────────────────────────────────────────────────\~

Designate the block by highlighting it, beginning from the
cursor's current position. Use the Up, Down, Left, and Right
keys to move the cursor. As the cursor moves, Alpha Four
highlights the contents of the block.

When the block is the correct size and shape, press Enter.
Alpha Four "cuts" the block from the screen, pulling up any
lines below it to close the gap.

If you are deleting the block, you are done. If you are
moving or copying the block, move the cursor to the block's
new location and press F4, Insert to insert it in the new
location.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Placing a field
\!────────────────────────────────────────────────────────────\~

Select a field and place it in the letter.

Alpha Four displays the list of available databases.
Highlight the database containing the desired field and
press Enter.

Next, Alpha Four displays the list of fields for the
selected database. Select the appropriate field (highlight
it and press Enter, or begin typing the field's name). 

Finally, Alpha Four prompts for formatting options for the
field. Fill in the prompts as appropriate and press F10
(Continue). Alpha Four places the field in the letter.
\!════════════════════════════════════════════════════════════\~
\#Using help\~         \#Help topics\~         \#Field formats\~
\[*833, 834, 338]













































































Calculated fields
\!────────────────────────────────────────────────────────────\~

Define a calculated field to be used in the letter.

Fill in any valid Alpha Four expression and press Enter.
Alpha Four then prompts for formatting options, just as when
you place a numeric field.

Select the appropriate field formats and press F10
(Continue). Alpha Four enters the calculated field's
expression directly into the letter.

When you print the letters, Alpha Four will evaluate the
expression and substitute the result for the calculated
field.
\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~             \#Expressions\~
\[*833, 834, 914]













































































Enter a name for the calculated field
\!────────────────────────────────────────────────────────────\~

Enter a name for the calculated field, and press Enter.

Fieldnames can be from 1 to 10 characters, including
letters, numbers, and underscores (_) (but they must begin
with a letter).








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter an expression for the calculated field
\!────────────────────────────────────────────────────────────\~
Enter the expression defining the calculated field.

The expression can involve other fields in the database or
set, as well as the CALCULATED, SYSTEM, and SUMMARY (reports
only) databases. Expressions can also include script
variables.

Expressions can use any Alpha Four function.

Press F10 (Continue) to store the field in the CALCULATED
database.

To use the field in a report, form, browse table, or mail
label, use F2 (Fields) to place the field as usual.
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Expressions\~  \#Functions\~  \#Operators\~
\[*833, 834, 914, 889, 909]













































































Enter a name for the summary field
\!────────────────────────────────────────────────────────────\~

Enter a name for the summary field, and press Enter.

Fieldnames can be from 1 to 10 characters, including
letters, numbers, and underscores (_) (but they must begin
with a letter).








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the name of the field to be summarized
\!────────────────────────────────────────────────────────────\~

Enter the name of the field being summarized. If you are
summarizing one of the child fields in a set, you must
include the database prefix with the fieldname (as in
"INVOICES->TOTAL").

To see the list of available fields, press F2 (Fields).
Alpha Four displays a list of available databases.  Select
the database containing the desired field by highlighting it
and pressing Enter.

Alpha Four then lists the fields in the selected database.
Select the appropriate field (highlight it and press Enter).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select a summary type
\!────────────────────────────────────────────────────────────\~

For a particular \#summary level\~ (i.e., overall report, page,
or group `n'), Alpha Four can compute these summary values:

Summary Type  Resulting Value
\!────────────\~  \!──────────────────────────────────────────────\~
Total         The total for a field
Count         The number of records
Average       The average of the values in a field
First         A field's value in the first record
Last          A field's value in the last record
Biggest       The largest value in a field
Smallest      The smallest value in a field

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[289, *833, 834]













































































Select a summary level
\!────────────────────────────────────────────────────────────\~

The summary level determines which records are included in
the summary for the specified field:

Summary Level   Effect
\!─────────────\~   \!────────────────────────────────────────────\~
Grand           Summarizes the specified field for the
                entire report

Page            Summarizes the specified field for the
                current page

Group `n'       Summarizes the specified field for the
                current grouping level (group 1 through 9)
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select an ignore option
\!────────────────────────────────────────────────────────────\~

Specify whether the following types of fields should be
ignored while Alpha Four computes the \#count\~ or \#average\~:

Ignore   Effect
\!──────\~   \!───────────────────────────────────────────────────\~
None     Do not ignore any records
Empty    Ignore records containing blanks in the summary
         field
Zero     Ignore records containing zeroes in the summary
         field
Both     Ignore both records containing blanks, and records
         containing zeroes, in the summary field

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[288, 288, *833, 834]













































































Select a process mode
\!────────────────────────────────────────────────────────────\~
The process mode determines when the summary value is
computed:

Running
\!────────────────────────── \~
Alpha Four computes the summary value as it prints each
record. The final summary value is available only after all
the records at the given summary level have been printed.

Pre-processed
\!────────────────────────── \~
Alpha Four computes the summary value before printing any
records. For example, if a page total is pre-processed, it
is computed before any records are printed on that page.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































When to specify range settings
\!────────────────────────────────────────────────────────────\~

Select when the \#range settings\~ for the current report, form,
browse table, or mail label should be specified:

- Now: The range settings that you specify now will be used 
  without allowing you a chance to modify them at print
  time.

- at Print time: The settings that you specify now will be
  used as a default; you can modify them at print time.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, *833, 834]













































































Select a range
\!────────────────────────────────────────────────────────────\~

Select the \#range settings\~ to be used for printing this
report, form, browse table, or mail label design:

- 0 (Default): The default range settings include every
  record in the database, in record number order.

- 1 (Current): The current settings are those last used in 
  the current Alpha Four session, whether or not you saved
  them on disk.

- A - Z: These represent the custom range settings that you
         have defined and stored on disk.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, *833, 834]













































































When to specify the output device
\!────────────────────────────────────────────────────────────\~

Select when the output device (printer, screen, or file) for
the current report, form, browse table, or mail label should
be specified:

- Now: The output device that you specify now will be used
  without allowing you a chance to modify it at print time.

- at Print time: The device that you specify now will be
  used as a default; you can modify it at print time.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select an output device
\!────────────────────────────────────────────────────────────\~

Select the output device:

- Screen: Display your output on the screen

- Printer: Print the output on the printer (you will select
  the printer driver at the next prompt)

- File: Store the output in a file, which you can name at
  the next prompt.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































When to specify the printer
\!────────────────────────────────────────────────────────────\~

Select when the printer configuration (driver) for the
current report, form, browse table, or mail label should be
specified:

- Now: The printer configuration that you specify now will
  be used without allowing you a chance to modify it at
  print time.

- at Print time: The printer configuration that you specify
  now will be used as a default; you can modify it at print
  time.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































When to specify the filename
\!────────────────────────────────────────────────────────────\~

Select when the filename in which the output will be stored
should be specified:

- Now: The filename and printer configuration (driver) that
  you specify now will be used without allowing you a chance
  to modify them at print time.

- at Print time: The filename and printer configuration that
  you specify now will be used as defaults; you can modify
  them at print time.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select a printer driver (configuration)
\!────────────────────────────────────────────────────────────\~

Select the \#printer configuration\~ to be used when printing
the output:

- 0 (Default): The default printer configuration is the one
  provided with Alpha Four, for parallel printers using
  LPT1.

- 1 (Current): The current printer configuration is the one
  that you selected with the Other, Configuration, Select
 \! \~active printer command.

- A - Z: These represent the custom printer configuration
  that you have defined and stored on disk.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[25, *833, 834]













































































Does your printer use single sheets?
\!────────────────────────────────────────────────────────────\~

Select "Yes" if your printer uses a single-sheet feeder that
requires Alpha Four to pause after each page, so you can
manually insert the next.

Select "No" if you are using continuous-feed paper, or if
your single-sheet feeder inserts each page automatically.

 \!┌─ \~Note\! ────────────────────────────────────────────────┐\~
 \!│\~ If you are using a laser printer, select "No"         \!│\~
 \!│\~ unless you wish to manually feed each sheet of paper. \!│\~
 \!└───────────────────────────────────────────────────────┘\~


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter a name for the output file
\!────────────────────────────────────────────────────────────\~

Enter the filename to be used for storing the printed
output. You can include a drive/path specification if
necessary.

If you omit the drive/path specification, Alpha Four stores
the file in your current data directory.

If you omit the filename extension, Alpha Four automatically
uses ".LST" as the extension.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Will you be printing in compressed mode?
\!────────────────────────────────────────────────────────────\~

Select "Yes" to print in compressed mode (15-20 characters
per inch). This feature depends upon your printer's physical
capabilities (check your printer manual), and the
"Compressed print" code defined in the \#printer configuration
\~that you will be using.

Select "No" to print in normal mode (10-12 characters per
inch).





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[25, *833, 834]













































































Do you want to issue a form feed after printing?
\!───────────────────────────────────────────────────────\~

Select "Yes" to have your printer eject the last page of
your document once it has finished printing.  










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]














































































Available forms
\!────────────────────────────────────────────────────────────\~

Select a form either by highlighting it and pressing Enter,
or by typing the corresponding letter.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Changing the color of blocks of fields and text
\!────────────────────────────────────────────────────────────\~

1. Position the cursor at the upper left corner of the
   portion of the form you want to color.

2. Press F3 (Color).

3. Select the color you want from the \#Color Selections box\~.

4. Move the cursor to the lower right corner of the block.

5. Press Enter.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[323, *833, 834]













































































Summary fields
\!────────────────────────────────────────────────────────────\~

A summary field computes the total, average, count, etc.,
for a field in the selected region on the form layout.

In the \#Summary Fields screen\~, enter the \#summary field's
name\~, and press Enter. Then specify the \#field to be
summarized\~ and select the \#summary type\~, and the \#ignore mode\~.

Select summary fields like any other fields. Summary fields
are "stored" in the SUMMARY database.



\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              

\[310, 286, 307, 308, 309, 306, *833, 834]












































































Summary fields
\!────────────────────────────────────────────────────────────\~

Place a summary field that summarizes a field on the primary
form directly on the underlying form.

Place other summary fields on the region's parent region
instead of in the region the field summarizes.  If one
region exists on a form, place the summary field on the
underlying form.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              

\[*833, 834]












































































Enter the name of the field to be summarized
\!────────────────────────────────────────────────────────────\~

Enter the name of the field being summarized.  You can
summarize a field from the current child database or a
calculated field defined for the current region.

To see the list of available fields, press F2 (Fields).
Alpha Four displays a list of available databases.  Select
the database containing the desired field by highlighting it
and pressing Enter.

Alpha Four then lists the fields in the selected database.
Select the appropriate field (highlight it and press Enter).


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select a summary type
\!────────────────────────────────────────────────────────────\~

For a summary field, Alpha Four can compute these values:

Summary Type  Resulting Value
\!────────────\~  \!──────────────────────────────────────────────\~
Total         The total for a field
Count         The number of records
Average       The average of the values in a field
First         A field's value in the first record
Last          A field's value in the last record
Biggest       The largest value in a field (in a character
              field, the last value alphabetically)
Smallest      The smallest value in a field (in a character
              field, the first value alphabetically)
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select an ignore mode
\!────────────────────────────────────────────────────────────\~

Specify whether the following types of fields should be
ignored while Alpha Four computes the \#count\~ or \#average\~:

Ignore   Effect
\!──────\~   \!───────────────────────────────────────────────────\~
None     Do not ignore any records
Empty    Ignore records containing blanks in the summary
         field
Zero     Ignore records containing zeroes in the summary
         field
Both     Ignore both records containing blanks, and records
         containing zeroes, in the summary field

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[308, 308, *833, 834]













































































Summary Fields screen
\!────────────────────────────────────────────────────────────\~
The screen displays a section for each one-to-many link in
the set.  The name of the region (representing the many side
of a link) appears on a section's upper boundary.

Use Tab and Shift-Tab to move the cursor between sections.

Fill in the \#Name\~, \#Field\~, \#Summary\~, and \#Ignore\~ columns for
each summary field you want to define.

Use F5 (Delete) to delete the current row.  Use F6 (Insert)
to insert a blank row above the current row.

Use F2 (Summary functions) to automatically display the
summary types appropriate for type of field selected.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[286, 307, 308, 309, *833, 834]













































































Frame style
\!────────────────────────────────────────────────────────────\~

Use F7 (Frame styles) to display the available frame styles.

Option   Frame style
\!──────\~   \!───────────────────────────────────────────────────\~
A        Single line
B        Double line
C        Single horizontal and double vertical lines
D        Double horizontal and single vertical lines
E        No border

The default setting is A, single line.  Use the Up and Down
arrow keys to highlight the frame style and press enter.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Drop Shadow
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to display a drop shadow behind the region.

The default setting is No, do not display a drop shadow.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Show Field Titles
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to display column titles above the columns of
fields.

The default setting is Yes, display column titles.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Titles Frame
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to frame column titles with a border.

The default setting is Yes, frame column titles.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Use field names as titles
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to have Alpha Four fill in the field titles
automatically using the field name of each selected field.

No
\!────────────────────────\~
Select No to include a blank cell above each field in which
to type in your own title.

The default setting is Yes, use field names as titles.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Show Record Number Column
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to include a column in the region that numbers
the records displayed in the region.

The record number is always the leftmost column.  Alpha Four
places all fields you select to the right of it.

The default setting is No, do not include a record number
column.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Show Vertical Grid Lines
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to show vertical grid lines between columns in
the region.

The default setting is No, do not show vertical grid lines.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Display Region
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to have the region display in View mode. 
Normally, you will want the region to display.

No
\!────────────────────────\~
Select No to have Alpha Four hide the region.

You may want to hide the region to include summary field(s)
on your form but not the detail records they summarize.

The default setting is Yes, display the region.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Maximum number of records
\!────────────────────────────────────────────────────────────\~
To limit the number of child database records contained in
the region at one time, enter the maximum number you want to
permit here.

For example, entering a setting of 50 permits you to view
any of the first 50 matching child records in the region.

The default setting is 100.  You can use a setting between 1
and 10000 (entered without a comma).  If you need to
conserve memory, use a lower setting.

Note that any additional matching records remain in the
child database and can be view or edited using the usual
methods.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Read Only Region
\!────────────────────────────────────────────────────────────\~

Yes
\!────────────────────────\~
Select Yes to specify that you can only view existing
records in the region.  Existing records cannot be edited or
deleted and new records cannot be entered into the child
database using the region.

No
\!────────────────────────\~
Select No to permit editing and entry of child database
records using the region.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]














































































































































































Region Colors
\!────────────────────────────────────────────────────────────\~

The displayed numeric value represents the current color
selection for the portion of the region specified at this
prompt.

Use F7 (Color values) to display the Color Selections box
used to \#change the color selection\~.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[323, *833, 834]













































































Changing the Color Selection
\!────────────────────────────────────────────────────────────\~

The displayed grid contains foreground and background color
combinations.

Use the arrow keys to highlight the color selection you want
to use.  A sample of the currently highlighted selection
appears toward the top of the box.

Use F7 (Alternate view) to select colors from a menu.

Press Enter to select the highlighted color selection.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Region Parameters screen
\!────────────────────────────────────────────────────────────\~
The region parameters let you define the characteristics of
the region, specifically:

- The line type used to frame the region
- The colors for the border, region background, data, and
  field titles
- Whether field names for included fields are used as titles
  in the region
- Whether the region displays on the form during data entry
  or is hidden
- An optional filter expression that determines which
  records display in the region.

Press F10 (Continue) to return to the Form Layout screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Scrollable regions
\!────────────────────────────────────────────────────────────\~

In a set with at least one one-to-many link, you can define
a scrollable region to display and manipulate the child
records in the set.

For example, if there is a one-to-many link between INV_HEAD
and LINEITEMS, you can create a form layout containing
INV_HEAD fields that includes a region containing all or
selected LINEITEM fields.

In View mode, all the LINEITEM records that link to the
current INV_HEAD record are displayed within the region.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[326, *833, 834]













































































Scrollable regions
\!────────────────────────────────────────────────────────────\~

You can place a region on your form for each one-to-many
link in a set.  Regions are placed in the descending order
in which they were linked during Set design.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*303






























































































Available labels
\!────────────────────────────────────────────────────────────\~

Select a mail label design by either highlighting it and
pressing Enter, or by typing the corresponding letter.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*328






























































































\*332
































































































































































































Available reports
\!────────────────────────────────────────────────────────────\~

Select a report by either highlighting it and pressing
Enter, or by typing the corresponding letter.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating and editing a browse table
\!────────────────────────────────────────────────────────────\~

Create or edit a \#browse table\~, using the information stored
in the current database or set.

Your browse table can include any fields in the current
database.

If the browse table is based upon a set, it can display
fields from any database in the set, but you can only update
fields in the set's primary database.

In addition, your browse table can include \#system fields\~ and
\#calculated fields\~.

\!════════════════════════════════════════════════════════════\~
\#Using help\~           \#Help topics\~          \#Zoom to child file\~


\[884, 939, 174, *833, 834, 57]











































































Selecting the active browse table
\!────────────────────────────────────────────────────────────\~

Select a browse table to use for displaying records in
Browse mode. You can also select the active browse table
directly from Browse mode with Options, Choose a new table.

Alpha Four displays a list of the browse tables for the
current database or set. The currently active browse table
is highlighted. The table named "0" is Alpha Four's own
default browse table, which contains all of the fields in
the current database (or the primary database of a set).

Select another browse table by highlighting it and pressing
Enter. Alpha Four returns to the main menu (or to Browse
mode if appropriate); the selected browse table is active.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Borrow a browse table
\!───────────────────────────────────────────────────────────\~

Borrow a browse table layout from another database or set. 

This command allows you to make a copy of a browse table
layout that you previously designed for another database or
set.

You can use the copy as is, or edit it if you would like to
make changes to it.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing a browse table
\!────────────────────────────────────────────────────────────\~

Erase a browse table belonging to the current database or
set.

       \!  \~ \! ┌─ \~Warning\! ────────────────────────────┐
\~           \!│\~ Once a browse table has been erased, \!│\~
           \!│\~ it cannot be recovered.              \!│\~
       \! \~ \!  └──────────────────────────────────────┘
\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Width
\!────────────────────────────────────────────────────────────\~

Enter the number of spaces to reserve for the field. For
example, if the LASTNAME field is stored in the database
with 20 characters, you might want to reserve 20 spaces for
it in the letter.

Most last names are fewer than 20 spaces, so they will be
followed by blanks until the specified 20 spaces are filled.
If you use a width of 10 spaces, names longer than 10
characters will be truncated.

To fit the exact length of each name into the letter
(without truncating the name, and with no trailing blanks),
use the "Suppress" \#justification\~.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[275, *833, 834]













































































Field formats
\!────────────────────────────────────────────────────────────\~

When you place a field in a letter, Alpha Four lets you
select the field's format:

- How the field's value should be justified (aligned) within
  its allotted space
- How much of the field should be displayed when you choose
  not to justify the field
- Whether to delete the line containing the field when the
  field is blank
- Whether numbers should appear with a currency sign
- Whether numbers should be spelled out in words
- How many decimal places to print for each numeric field.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*340































































































Editing a form letter or memo
\!────────────────────────────────────────────────────────────\~

Form letters and memos use the same editing techniques. The
editor works like a typical word processor: simply type the
letter/memo as you want it to appear. When you reach the end
of a line, Alpha Four automatically "wraps" the text onto
following line. Only press Enter when you want to end a
paragraph or leave a blank line.

You can copy, move, delete, and insert blocks of text
anywhere within the letter or memo.

For details on creating and editing form letters, refer to
Chapter 16 in the Alpha Four Reference manual. Memo fields
are discussed in Chapter 24 of the same manual.
\!════════════════════════════════════════════════════════════\~
  \#Using help\~         \#Help topics\~         \#Shortcut keys\~
\[*833, 834, 876]













































































Restrict Command Access
\!────────────────────────────────────────────────────────────\~

Select Restrict Command Access if you want to restrict
access to commands normally available when you are in View
mode. 

When you select this command, Alpha Four displays a
checklist listing the commands which can be restricted.
These commands include: Change, Delete, Enter, Range,
Undelete, Choose form, Edit form and Search/Replace.

Press F2 (Check/Uncheck) to check or uncheck individual
commands. Press F4 (Check All) to check all commands and
press F5 (Uncheck All) to uncheck all commands. When you are
satisfied with the checklist press F10 (continue).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Crosstab description
\!────────────────────────────────────────────────────────────\~

Enter a description of your saved crosstab definition. This
description will make it easier to identify the crosstab
later and will appear in the Saved Crosstabs list.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Select an index
\!────────────────────────────────────────────────────────────\~

Specify the \#index\~ to become the new \#primary index\~.  Select
the index either by highlighting it and pressing Enter, or
by typing the corresponding letter. The primary index
controls the order in which records are retrieved and
displayed.

The \#Search/sort\~ index accesses only those records found by
the most recently run search/sort.

The Record Number index orders the records in physical
order, that is, in the order in which they were entered into
the database. Every database has a Record Number index.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, 973, 5, *833, 834]













































































What is a range?
\!────────────────────────────────────────────────────────────\~

Ranges control how Alpha Four retrieves and displays
records. Using the settings, you can define a range that
contains only records meeting certain criteria.

In addition to the \#primary index\~, the range settings let you
specify:

- Whether records are in ascending or descending \#order\~
- Whether to \#show\~ all, deleted, or not-deleted records
- The \#first record\~ and the \#last record\~ in the range
- Whether to include only records with \#unique keys\~
- A \#filter\~ expression stating more specific criteria
- Whether to use the set's or customized \#link modes\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[353, 357, 359, 354, 355, 358, 352, 360, *833, 834]













































































Available ranges
\!────────────────────────────────────────────────────────────\~

Select an existing range either by highlighting it and
pressing Enter, or by typing the corresponding letter.

Alpha Four will display the retrieved settings in the Range
Settings box. You may use the settings as they stand, modify
them if you wish, or retrieve another range.

The "Default range" is provided by Alpha Four for every
database or set. This range includes every record in the
database or set, in record number order.

The "Current range" is the last range created or retrieved,
even if you did not save it to disk.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































First record in database <First>
\!────────────────────────────────────────────────────────────\~

Designate the first record in the database (in \#primary index
\~order) as the first (or last) record in your range.

When you add or delete a record, Alpha Four automatically
updates the value of <First> to reflect the change in the
database.

For example, suppose that your records are in ascending
order, LASTNAME is your primary index, and <First> is
currently "Adamson". If you then enter a record for Abrams,
<First> now refers to "Abrams".


\!════════════════════════════════════════════════════════════\~
\#Using help\~  \#Help topics\~  \#Last\~  \#Current\~   \#Parent\~   \#Key value\~
\[973, *833, 834, 348, 349, 350, 351]













































































Last record in database <Last>
\!────────────────────────────────────────────────────────────\~

Designate the last record in the database (in \#primary index
\~order) as the last (or first) record in your range.

When you add or delete record, Alpha Four automatically
updates the value of <Last> to reflect the change in the
database.

For example, suppose that your records are in ascending
order, LASTNAME is your primary index, and <Last> is
currently "Watson". If you then enter a record for Williams,
<Last> now refers to "Williams".


\!════════════════════════════════════════════════════════════\~
\#Using help\~  \#Help topics\~  \#First\~  \#Current\~  \#Parent\~  \#Key value\~
\[973, *833, 834, 347, 349, 350, 351]













































































Currently viewed record <Current>
\!────────────────────────────────────────────────────────────\~

Use the last record viewed (in View or Browse mode) as the
first (or last) record in your range. When you view another
record, the value of <Current> is automatically updated.

Suppose that LASTNAME is your \#primary index\~ and you last
viewed the record for Susan Jameson. Selecting <Current>
designates "Jameson" as the first (or last) record in your
range. If you then view the record for Daniel Johnson,
<Current> is changed to "Johnson".

This is useful for defining a range to print the record that
is currently displayed in View or Browse mode.

\!════════════════════════════════════════════════════════════\~
\#Using help\~  \#Help topics\~   \#First\~   \#Last\~   \#Parent\~    \#Key value\~
\[973, *833, 834, 347, 348, 350, 351]













































































Key value of parent record
\!────────────────────────────────────────────────────────────\~

Use the key value of the parent record that you were in when
you zoomed to the child database as the first or last record
in your range. 

For example, if your primary index key is LASTNAME and you
were in a set, looking at the record for C.J. Fox, when you
zoomed to the child database, <PARENT> represents the record
in the parent database for C.J. Fox. 

This is useful for defining a range for a child database to
show only records in the child database which correspond to
a particular parent record.

\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#First\~   \#Last\~   \#Current\~  \#Key value\~
\[363, 973, *833, 834, 347, 348, 349, 351]













































































Key value of current record
\!────────────────────────────────────────────────────────────\~

Use this option to insert the key value of the current
record at the First record prompt. For example, if COMPANY
is the primary index and you last viewed the record for Beta
Corp., this option would insert Beta Corp at the prompt









\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#First\~    \#Last\~    \#Current\~   \#Parent\~
\[363, 973, *833, 834, 347, 348, 349, 350]













































































Filter
\!────────────────────────────────────────────────────────────\~

The filter is an \#expression\~ used to ensure that the range
includes only those records satisfying the stated criteria.

For example, the filter STATE="MA" will allow the range to
include only records whose STATE field contains "MA". (Use
quotation marks around character strings).

You can define a filter using any combination of fields in
the database and script variables.

An alternative to using a filter is to run a search, which
also uses an expression to locate records, but stores the
record numbers in a \#search/sort list\~.
\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~        \#Functions\~      \#Operators\~
\[914, 5, *833, 834, 889, 909]













































































Primary index for the range
\!────────────────────────────────────────────────────────────\~

Select the range's \#primary index\~, which determines how
records are ordered within the range. For example, if you
select the ZIPCODE index as the range's primary index, then
Alpha Four will order the records within the range by zip
code.

To select the primary index, press F2 (Change Primary
Index), and select the appropriate index from the list that
Alpha Four then displays.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, *833, 834]













































































First record
\!────────────────────────────────────────────────────────────\~

Specify the \#index key\~ value of the first record in the
range. The "key value" is the value of the field or
expression on which the \#primary index\~ is based. For example,
if the primary index is LASTNAME, the key value for Pamela
Smith's record is "Smith".

Press F2 (Special Records) to display the list of
\#pre-defined symbols\~ used for representing particular records
(such as the first record in the database).

Press F3 (Key Values) to display the list of key values
(such as the list of unique last names) used in the current
database.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, 973, 347, *833, 834]













































































Last record
\!────────────────────────────────────────────────────────────\~

Specify the key value of the last record that you want
included in the range. The last record should come after the
first record, unless they are the same (used when you are
restricting the range to a single record).

You specify the range's last record just as you specify its
\#first record\~ -- fill in the \#index key\~ of the record that you
want to be used as the last record in the range.

Press F2 (Special Records) to display the list of
\#pre-defined symbols\~ used for representing records. Press F3
(Key Values) to display the list of key values used in the
current database.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[354, 363, 347, *833, 834]













































































Filter status
\!────────────────────────────────────────────────────────────\~

The filter status controls whether Alpha Four uses or
ignores the filter expression. Select "Active" if you want
the \#filter expression\~ to be used in determining which
records should be included in the range.

Select "Inactive" if you want to disable the filter
expression without actually deleting it from the range
settings. When a filter is inactive, Alpha Four ignores it,
and uses only the remaining range settings to determine
which records should be included in the range.

You can re-activate an inactive filter at any time, simply
by re-setting the filter status to "Active".
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[352, *833, 834]













































































Order
\!────────────────────────────────────────────────────────────\~

Select the order in which to display the records in the
range: ascending or descending.

Select "Ascending" to display the records from smallest to
largest (or alphabetically, from A to Z).

Select "Descending" to display the records from largest to
smallest (or alphabetically, from Z down to A).

The display order is based upon the \#primary index\~. For
example, if LASTNAME is the primary index and the order is
descending, Alpha Four will display records alphabetically
by last name, in descending order.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, *833, 834]













































































Unique keys
\!────────────────────────────────────────────────────────────\~

Select "Yes" to restrict the range to records with unique
\#index key values\~. Select "No" if you want records with
duplicate key values to be included.

For example, LASTNAME is the \#primary index\~ used below. The
second and third records contain non-unique keys ("Mitchell"
is duplicated). If you select "Yes", only the first of these
three records would be included in the range.
 \!┌────────────────────────────────────────────────────────┐\~
 \!│\~ Bill  Mitchell   304 Circle Avenue   Newton   MA 02156 \!│\~
 \!│\~ Jane  Mitchell   54 Hill Boulevard   Sudbury  MA 01776 \!│\~
 \!│\~ John  Mitchell   8 Crescent Street   Weston   MA 01774 \!│\~
 \!└────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, 973, *833, 834]













































































Show
\!────────────────────────────────────────────────────────────\~

Specify which records to include in the range, based upon
the delete marker:

- All: Includes all of the records in the database,
  regardless of the deletion status

- Deleted: Includes only those records that are marked as
  \#deleted\~

- Not deleted: Includes only those records that are NOT
  marked as deleted.


\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Status line\~
\[48, *833, 834, 878]













































































Link mode
\!────────────────────────────────────────────────────────────\~

The link mode controls how Alpha Four determines which child
records to retrieve at each link within the set. A range can
use one of two modes: "Use Set's" and "Customized".

Select "Use Set's" to use the link types that were defined
when the set was created. Select "Customized" if you want to
re-define the set's link modes, for example, changing a link
from one-to-all to one-to-first. The re-defined link modes
are used only with this range.

Press F5 (Links) to access the Links pop-up box, where you
can re-define the link modes for each link within the set.

\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~              \#Link types\~
\[*833, 834, 1003]













































































Customized links
\!────────────────────────────────────────────────────────────\~

Specify the link mode for each link within the set:

- All: For each parent record, retrieve all matching child
  records

- First: For each parent record, retrieve only the first
  matching child record

- Last: For each parent record, retrieve only the last
  matching child record

- Closest: For each parent record, retrieve the closest
  matching child record
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Key values
\!────────────────────────────────────────────────────────────\~

Alpha Four lists all of the unique \#index key values\~ in the
current database (based upon the \#primary index\~).

Select a key value from the list by highlighting it and
pressing Enter. Use PgUp, PgDn, Up, and Down to scroll
through the list of values.

If you enter a partial index key (such as "Bo") before
pressing F3 (Key Values), Alpha Four will position the
cursor on the closest matching key value in the list.

When you select a value from the list, Alpha Four fills it
in as the "First record" or "Last record", as appropriate.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, 973, *833, 834]













































































Index keys
\!────────────────────────────────────────────────────────────\~

The field or expression on which a database is \#indexed\~ is
called the "index key".

For example, if a database is indexed on the ZIPCODE field,
then the zip code 02189 is an index key value. If the
database is indexed on the \#expression\~ TRIM(LASTNAME) +
FIRSTNAME, then "SmithMaria" is an index key value.

If two records contain the same index key value, the second
record is considered a "duplicate" of the first record, even
if all of the other fields contain different values. The
first record containing a particular index key is considered
to be a "unique" record.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, 914, *833, 834]















































































































































































Using the Field Rules screen
\!────────────────────────────────────────────────────────────\~

This window lists the fields in the current database/set. If
any rules exist for the highlighted field, Alpha Four
displays them in the lower window. If none exist, the
message "No rules defined for this field" appears instead.

To define rules for a field, highlight the field and press
F9 (Define Rule). In the lower window, fill in the desired
rules at the appropriate prompts.

Then press F9 (Switch Window) to return to the upper window,
and either define rules for another field, or press F10
(Continue) to save the rules. You can only exit the Field
Rules screen from the upper window.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Value
\!────────────────────────────────────────────────────────────\~
User-entered
\!───────────────────────────\~
The user will enter the data for this field.

Calculated
\!───────────────────────────\~
The field's value will be derived from an \#expression\~.

Summary
\!───────────────────────────\~
The field's value will be summarized from values from the
primary database's linked child records.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, 367, *833, 834]













































































Summary (continued)
\!────────────────────────────────────────────────────────────\~

When you change the fields that are referenced in an
expression, Alpha Four \#re-calculates\~ this field and updates
its value.

  \!┌─ \~Note \!──────────────────────────────────────────┐\~
  \!│\~ The Summary option is only available if you are \!│\~
  \!│\~ defining rules for primary database fields at   \!│\~
  \!│\~ the set level.                                  \!│\~
  \!└─────────────────────────────────────────────────┘\~




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[123, *833, 834]













































































Enter the name of the field to be summarized
\!────────────────────────────────────────────────────────────\~

Enter the name of the field being summarized.  Select F2
(Fields) to display a list of fields in the primary
database's child database.

Select the desired field by highlighting it and pressing
Enter.

  \!┌─ \~Note \!─────────────────────────────────────────────┐\~
  \!│\~ The field you include in the primary database to   \!│\~
  \!│\~ store summary values should be defined as the same \!│\~
  \!│\~ type as the child field being summarized.          \!│\~
  \!└────────────────────────────────────────────────────┘\~

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating a summary field
\!────────────────────────────────────────────────────────────\~
1. Open the parent database in the set.  Use the Reconfigure
   database command to add a new field to store the summary
   values.

   Name the new field for the child database field you want
   to summarize.  Also, select the same field type as that
   of the child field.

2. Open the set, and use the Field rules command to define
   the rule for the new field.

   At the Value prompt, select Summary.  Complete the
   \#Summary of\~, \#Summary Function\~, and \#Ignore\~ prompts and
   select F9 (Switch Window) and then F10 (Continue).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[368, 308, 309, *833, 834]













































































Case Convert
\!────────────────────────────────────────────────────────────\~

When you enter character data into the field, Alpha Four
converts the appropriate letters to uppercase or lowercase
as specified. The case conversion options are:

- None: Do not convert the data
- Caps: Convert the entire field
- First: Convert the first letter of the field
- Word: Convert the first letter of each word
- Lower: Convert the entire field to lowercase
- X (Lower & First): Convert the field to lowercase, with
  the first letter of the field in uppercase
- Z (Lower & Word): convert the field to lowercase, with the
  first letter of each word in uppercase.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Template
\!────────────────────────────────────────────────────────────\~

A template is a pattern that you want to force on data
entered into the field. Using a template, you can specify
fixed characters in certain positions within the field.

Type the template characters exactly where you want them to
appear within the field. Use "|" to force a blank space. For
example, the template for a telephone number looks like
this: (   )|   -    

During data entry, the template appears in the field. As you
type the data, the cursor skips over the template
characters, which cannot be edited. For example, the
telephone template above will appear as: (___) ___-____
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Mask
\!────────────────────────────────────────────────────────────\~

A mask limits the type of characters accepted in a character
field. Enter an optional mask character in each position:

- 9: Accepts numbers only
- A: Accepts uppercase letters only
- a: Accepts lowercase and uppercase letters
- space: Accepts any character.

For example, the mask for a U.S. zip code is: 99999

The mask AAA99 accepts three uppercase letters, followed by
two numbers.

\!════════════════════════════════════════════════════════════\~
\#Using help\~          \#Help topics\~          \#Allowing exceptions\~
\[*833, 834, 430]













































































Default Mode
\!────────────────────────────────────────────────────────────\~

If you want to specify a default entry (which the user can
change) for the field, first select the mode:

Value
\!───────────────────────────\~
Supply a constant value (such as "MA" or 45.8) as the
default.

Expression
\!───────────────────────────\~
Enter an \#expression\~ (such as TOTAL * .05) that Alpha Four
evaluates during data entry, using the result as the
default. Your expression can include script variables.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Increment
\!────────────────────────────────────────────────────────────\~
Records
\!───────────────────────────\~
Increment the field for each new record added to the
database. This is useful, for example, for generating
sequential invoice or part numbers.

Updates
\!───────────────────────────\~
Increment the field each time the record is saved
(indicating that an update has been made). This is useful,
for example, for tracking the changes made to each record.

To follow a particular format (such as AB001), enter the
first value yourself. Alpha Four will follow that format.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Auto-advance
\!────────────────────────────────────────────────────────────\~

Auto-advance moves the cursor to the next field when all
positions in the field assigned the auto-advance rule are
filled.

Yes
\!───────────────────────────\~
Use auto-advance for the field.

This saves keystrokes during data entry in databases in
which fields are often filled completely.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Range Check
\!────────────────────────────────────────────────────────────\~

You can specify ranges of acceptable values for \#numeric\~ and
\#date\~ fields. If the entered value does not fall within the
range, Alpha Four will not accept it.

To define a range, select "Yes" at the "Range Check" prompt.
Then define a minimum and maximum value for the range at the
prompts that appear next. The minimum value must be smaller
than the maximum value.

   Sample date range               Sample numeric range
\!─────────────────────────\~          \!────────────────────\~
Minimum value: 01-01-1992         Minimum value:  2.25
Maximum value: 12-31-1992          Maximum value: 90.75
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[998, 998, *833, 834]













































































Required
\!────────────────────────────────────────────────────────────\~

Yes
\!───────────────────────────\~
The field is always required.

Expression
\!───────────────────────────\~
The field is required only when the \#expression\~ that you
enter evaluates to True. For example, use EMPLOYE_ID < 200
to make the field required when the employee Id is less than
200.

Alpha Four will not save the record until the required field
has been filled in.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Validation Expn, Validation Msg
\!────────────────────────────────────────────────────────────\~

Validate Expn
\!───────────────────────────\~
Enter a logical \#expression\~. If the entered value makes the
expression True, Alpha Four will accept the value. You
cannot save the record until you enter an acceptable value.
For example, to insure that the shipping date is later then
the invoice date, you can use the expression: SHIP_DATE >
INV_DATE.

Validate Msg
\!───────────────────────────\~
Enter the message that you want displayed when Alpha Four
rejects the field entry.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Double Entry
\!────────────────────────────────────────────────────────────\~

Double entry requires the user to enter a field value twice
to ensure accuracy. The values must match to be accepted.

Yes
\!───────────────────────────\~
Double entry is always required for this field.

Expression
\!───────────────────────────\~
Double entry is required only when the \#expression\~ that you
enter evaluates to True. For example, use DISCOUNT > 10 to
require double entry when the discount is greater than 10%.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Skip Expression
\!────────────────────────────────────────────────────────────\~

If you want the field skipped under certain conditions,
enter a logical \#expression\~ (i.e., it evaluates to True or
False).

When the expression evaluates to True, the cursor will skip
this field during data entry. For example, to skip the
LASTNAME field when FIRSTNAME contains "Resident", enter the
following skip expression for LASTNAME: 

FIRSTNAME="Resident"



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]














































































































































































Prompt
\!────────────────────────────────────────────────────────────\~

You can create your own help prompt for this field. During
data entry, the message that you enter here will appear on
line 24 of the screen.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Post data
\!────────────────────────────────────────────────────────────\~

You can specify that Alpha Four post the value in this field
to one or more fields in the same or another database.

Within a set, you can post to any child database by
selecting the database name.  To post to an external
database, you must define a link between the databases.

  \!┌─ \~Note \!──────────────────────────────────────────┐\~
  \!│\~ Values are posted between records with matching \!│\~
  \!│\~ common field values.                            \!│\~
  \!└─────────────────────────────────────────────────┘\~
Alpha Four performs posting when the record is saved.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Posting Rules screen
\!────────────────────────────────────────────────────────────\~

Specify the database and the field to be filled or updated
during the post operation.  To post to more than one field
at once, complete a row for each field you want Alpha Four
to use.

Within a set, use F2 (Types) to select the type of database
(child or external).  When you select external, Alpha Four
displays the \#External Database Definition screen\~ which lets
you define a link specifically for the posting operation.

Alpha Four posts to fields in the order they appear here. 
Use F5 (Del) to delete a row from the screen.  Use F6 (Ins)
to insert a blank row.  Use F4 (Move) to move a row.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[387, *833, 834]













































































Database Type
\!────────────────────────────────────────────────────────────\~

Child
\!──────────────────────────────\~
Select Child to post data to a database that is linked to
the current database.

External
\!──────────────────────────────\~
Select External to define a link to a database for Alpha
Four to use specifically for the posting operation.

Use F2 (Types) to select the type of database you want to
use.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Database Name
\!────────────────────────────────────────────────────────────\~

Select the database to accept the posted value.

Press F2 (Databases) to display the child databases linked
to the current database.  Select one by highlighting it and
pressing Enter.

If no databases are linked to the current database, you can
define a link directly from this screen.  Press F2 (Define
Link) to display the \#External Database Definition screen\~.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[387, *833, 834]













































































External Database Definition screen
\!────────────────────────────────────────────────────────────\~
Specify the following values to create a link to an external
database:

Database Name
\!──────────────────────────────\~
Use F2 (Databases) to select the name of the database to
accept the posting value (the Master database).

Linking Index
\!──────────────────────────────\~
Use F2 (Indexes) to select an index attached to the Master
database which links the databases.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[388, *833, 834]













































































External Database Definition screen
\!────────────────────────────────────────────────────────────\~

Common field/expression
\!──────────────────────────────\~
Use F2 (Fields) to select a field from the transaction
database that the databases have in common.  To specify that
two or more fields form the link, write an expression: 

    e.g., TRIM(FIRSTNAME) + SPACE(1) + LASTNAME






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[387, *833, 834]













































































Field to post to
\!────────────────────────────────────────────────────────────\~

Select the field to accept the posted value.

Press F2 (Fields) to display the fields in the database
specified for \#Database Name\~.  Select one by highlighting it
and pressing Enter.

The field must be of the same type as the field assigned the
posting rule.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[386, *833, 834]













































































Mode
\!────────────────────────────────────────────────────────────\~

Select the posting mode (the type of posting operation):

Add
\!──────────────────────────────\~
Add the entered value to the field in the matching record of
the master database.

Subtract
\!──────────────────────────────\~
Subtract the entered value from the specified field in the
master database.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[391, *833, 834]













































































Mode (contined)
\!────────────────────────────────────────────────────────────\~

Replace
\!──────────────────────────────\~
Replace the value in the specified field of the master
database with the entered value.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Condition
\!────────────────────────────────────────────────────────────\~

Use a condition to specify that Alpha Four perform the
posting operation only when the corresponding \#expression\~ you
write evaluates to true.

Yes
\!──────────────────────────────\~
The posting rule is conditional.  Otherwise, the posting
operation is always performed.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[393, *833, 834]













































































Expression
\!────────────────────────────────────────────────────────────\~

When you specify that a posting rule is conditional, Alpha
Four displays a blank line.  Enter an expression to indicate
when Alpha Four should perform the posting operation (e.g.,
BALANCE>0).

During data entry, when the expression evaluates to false,
Alpha Four does not post the value.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[393, *833, 834]













































































Lookup
\!────────────────────────────────────────────────────────────\~

During data entry, the lookup lets you cross-reference
values in an internally stored table or an external
database.

The lookup table or database lets you provide a list of
allowed or dis-allowed values for the current field,
optionally displaying them on the screen.

When you select an allowed value from the lookup table or
database, Alpha Four can optionally copy the selected value,
and associated fields, into corresponding fields in the
current record.

\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~             \#Lookup source\~
\[*833, 834, 395]













































































Lookup Source
\!────────────────────────────────────────────────────────────\~
Table
\!──────────────────────────────\~
Lookup tables are limited to 6 columns and 255 rows. The
table is stored with the field rules. Lookup tables use
system memory, so the number of lookup tables you can use is
limited by your computer's memory.

Database
\!──────────────────────────────\~
Any Alpha Four database can be used as a lookup database.
You can use an unlimited number of lookup databases, since
they are stored on disk.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[396, *833, 834]













































































Lookup Source
\!────────────────────────────────────────────────────────────\~

Advanced
\!──────────────────────────────\~
The Advanced lookup source displays the Advanced Option
prompt just below it.  Define any of the following:

\#Conditional Database\~
\#Conditional Table\~
\#Cascading Table\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[397, 403, 409, *833, 834]













































































Conditional Databases screen
\!────────────────────────────────────────────────────────────\~

Define a conditional lookup database when one of several
databases might supply the value for the field.  You write a
series of conditional expressions that tell Alpha Four which
database to display during data entry.

Specify the "fall through" database to display when all
conditional expressions evaluate to false.  Specify each
condition and corresponding database (i.e., a group) to use
individually.

Use F7 (Ins Group) to insert a group.  Use F5 (Del Group) to
delete a group.  Use F4 (Move Group) to move a group.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[833, 834]













































































Database Name
\!────────────────────────────────────────────────────────────\~

Select the database you want Alpha Four to display if the
conditional expression evaluates to TRUE.

Press F2 (Databases) to display a list of all the databases
in the current directory.  Select one by highlighting it and
pressing Enter.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Filter
\!────────────────────────────────────────────────────────────\~

Enter a filter expression to select the records to display
in the lookup database window.

The filter is an expression that evaluates to a logical
(TRUE or FALSE) result.  Only those records for which the
filter is TRUE pass through the filter and are displayed in
the lookup window.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Expression
\!────────────────────────────────────────────────────────────\~
When you define a conditional lookup database field rule,
you write a series of conditional expressions that tell
Alpha Four which database to display during data entry.

Enter the \#expression\~ that when evaluated to TRUE will
display the lookup database for this group.

Use F2 Fields to select fields from the current database. 
Use F3 Functions to display a list of functions.

During data entry, Alpha Four evaluates expressions for the
groups in the order they are entered here and displays the
lookup database for first group for which the expression
evaluates to TRUE.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[914, 833, 834]













































































Condition
\!────────────────────────────────────────────────────────────\~
You can specify that some fields from the lookup database(s)
are used to fill in fields in the destination database only
if the expression you write evaluates to true.

A conditional expression can be specified for any Lookup
Layout mapping (row) or for none.

Yes
\!──────────────────────────────\~
When a lookup database record is selected, Alpha Four fills
the listed filled field conditionally. Enter the \#Expression
\~at the prompt that follows.

Otherwise, the field is always used during the lookup.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[402, *833, 834]













































































Expression
\!────────────────────────────────────────────────────────────\~

When you specify that the field from the lookup database is
used conditionally, Alpha Four displays a blank line.  Enter
an \#expression\~ to indicate when Alpha Four should use the
field.

When a record is selected from the lookup window during data
entry and the expression evaluates to false, Alpha Four does
not use the field to fill the listed filled field.

Values from other lookup database fields may still be used
to fill fields in the record.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Conditional Lookup Tables screen
\!────────────────────────────────────────────────────────────\~

Create a conditional lookup table when you want to define
more than one lookup table of possible choices.  You write a
series of conditional expressions that tell Alpha Four which
table to display during data entry.

Specify the "fall through" table to display when all
conditional expressions evaluate to false.  Specify each
condition and corresponding table (i.e., a group) to use
individually.



\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[404, *833, 834]













































































Conditional Lookup Tables screen
\!────────────────────────────────────────────────────────────\~

Fill in your lookup table.  Values appear in the lookup
window in the order in which you enter them into this table.
In the table, each column represents a field.

Use F2 (Ins Col) to add another column, or field, to the
table. You can use up to 6 fields in a table. When you
select a value from the lookup table during data entry,
Alpha Four copies it, plus the additional fields, into the
corresponding fields in the current record.



\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[405, *833, 834]













































































Conditional Lookup Tables screen
\!────────────────────────────────────────────────────────────\~

Use F4 (Move Row) to move a row to a new position. Use F5
(Del Row) and F6 (Ins Row) to delete or insert rows.

Use F7 (Ins Grp) to open a new section on the screen in
which to enter an additional lookup table (group).  Position
the cursor on a filled row in the current lookup table
definition before pressing the F7 key.

Use F8 (Ins Fltr) to enter criteria that defines which
values from the lookup table display during data entry.  Use
F9 (Del Fltr) to delete the \#filter\~ expression for the
current group.

\!════════════════════════════════════════════════════════════\~
\#Working with Groups\~          \#Using help\~          \#Help topics\~
\[407, 406, *833, 834]













































































Conditional Lookup Tables screen
\!────────────────────────────────────────────────────────────\~

When you press F7 (Ins Grp), Alpha Four opens a new section
on your screen.  At the expression prompt, enter the
expression you want Alpha Four to use to determine whether
the current lookup table displays.  Use F2 (Fields) and F3
(Functions) to define the expression.

Use F4 (Move Grp) to change the order of existing groups. 
Position the cursor on the group you want to move, press F4
(Move Grp), use the Up and Down arrow keys to reposition the
group, and then press Enter.

Use F5 (Del Grp) to delete the current group.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~
\[*833, 834]













































































Filter
\!────────────────────────────────────────────────────────────\~

Enter a filter expression to select the lookup table values
to display in the lookup table window.

The filter is an expression that evaluates to a logical
(TRUE or FALSE) result.  Only those values for which the
filter is TRUE pass through the filter and are displayed in
the lookup window.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Expression
\!────────────────────────────────────────────────────────────\~

Enter the \#expression\~ you want Alpha Four to use to determine
whether the current lookup table displays.

During data entry, Alpha Four evaluates the expressions for
the groups you add in the order they are entered until one
is evaluated to TRUE.  The lookup table associated with that
expression is displayed.  If none of the expressions
evaluate to TRUE, the fall through lookup table is
displayed.

Use F2 (Fields) and F3 (Functions) to define the expression.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~
\[914, *833, 834]













































































Cascading Choice Table screen
\!────────────────────────────────────────────────────────────\~

Create a cascading table when you want to categorize lookup
table values into a structure of smaller tables containing
related values.  Fill in your lookup table.  Values appear
in the lookup window in the order in which you enter them
into this table. 

Use Tab (Demote) to demote the current entry one level.  The
table for this level of entries will display beneath the
table for the set of entries that is outdented one level in
the outline.  Use Shift Tab (Promote) to promote an entry.


\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[410, *833, 834]













































































Cascading Choice Table screen
\!────────────────────────────────────────────────────────────\~

Use F4 (Block) to move, delete, or copy a block of entries.

Use F5 (Delete) to delete the current entry.  Use F6 (Ins)
to insert a blank row above the current row.  Use F7 (Copy)
to copy and reposition the current entry.

Press F8 (Sort) to sort all entries within each level of the
tables in ascending alphabetical order.

Press F9 (Table) to add columns to the cascading table
structure that correspond to fields from the current
database.

\!════════════════════════════════════════════════════════════\~
\#Adding Columns\~            \#Using help\~             \#Help topics\~
\[411, *833, 834]













































































Cascading Lookup Table: Lookup Table screen
\!────────────────────────────────────────────────────────────\~

Use F2 (Add Column) to add another column, or field, to the
table. You can use up to 6 fields in a table.

Press F2 (Add Column), select the database, and then the
field to add.  Enter values for the new column.

When you select a choice from the cascading table during
data entry, Alpha Four copies values from the same row in
this lookup table mapping to the corresponding fields in the
current record.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Lookup Validation
\!────────────────────────────────────────────────────────────\~
None
\!──────────────────────────────\~
The values in the lookup table or database are optional. You
can enter a value contained in the lookup, or a new value.

Exists
\!──────────────────────────────\~
The lookup values are the only allowed values. You must
select a value from the lookup table or database.

Doesn't exist
\!──────────────────────────────\~
You must enter a value that is not contained in the lookup
table or database.
\!════════════════════════════════════════════════════════════\~
\#Using help\~          \#Help topics\~          \#Allowing exceptions\~
\[*833, 834, 428]













































































Location
\!────────────────────────────────────────────────────────────\~

Select a location for the lookup window, making sure that it
will not obscure a field that should be visible while the
lookup window is open.                  
                                        \!┌─────────┐\~
             Locations 1 through 9      \!│\~ 1  2  3 \!│\~
             correspond to numbers on   \!│\~ 4  5  6 \!│\~
             a push-button telephone:   \!│\~ 7  8  9 \!│\~
                                        \!└─────────┘\~
If you select "Hidden", the lookup window will not appear,
but Alpha Four will still validate the entered data. If the
mode is "None" or "Exists", Alpha Four will copy the
appropriate data into the current record when you enter a
value contained in the lookup table or database.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Auto Popup
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the lookup window to pop up
automatically when the cursor enters the field.

Select "No" if you only want the lookup window to appear
only when the user presses F3 (Choices).

Select "Expression" to enter an expression(s) that specifies
when Alpha Four should automatically pop up the lookup
window. 




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Entry expression
\!────────────────────────────────────────────────────────────\~

When you select "Expression" at the Auto Popup prompt, Alpha
Four lets you enter an Entry expression.

The Entry expression controls whether Alpha Four
automatically displays the lookup window when the cursor
enters the lookup field.

Use a valid \#expression\~.  In Change or Enter mode, when the
cursor enters the lookup field Alpha Four displays the
lookup window if the expression evaluates to TRUE.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Exit expression
\!────────────────────────────────────────────────────────────\~

When you select "Expression" at the Auto Popup prompt, Alpha
Four lets you enter an Exit expression.

The Exit expression controls whether Alpha Four
automatically displays the lookup window when the cursor
exits the lookup field.

Use a valid \#expression\~.  In Change or Enter mode, when the
cursor exits the lookup field Alpha Four displays the lookup
window if the expression evaluates to TRUE.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]















































































Lookup Database
\!────────────────────────────────────────────────────────────\~

Enter the name of the database that will be used as the
\#lookup source\~. Any Alpha Four database can be used as a
lookup.

If the lookup database is not stored in the same directory
as the current database, include the drive/path
specification with the database name.

Press F2 (Databases) to see the list of Alpha Four
databases.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[395, *833, 834]











































































Linking Index
\!────────────────────────────────────────────────────────────\~

The linking \#index\~ controls how Alpha Four searches for
records in the lookup database. For example, if you select
ZIPCODE as the linking index, Alpha Four will retrieve
records according to zip code.

When you use F2 (Find) to locate a particular record, Alpha
Four will prompt for the \#index key\~ (the zip code) to search
for. Using a linking index also lets you enter partial
values (for example, the first few digits of a zip code).
Alpha Four finds the record containing the closest match.

If you omit the linking index, Alpha Four searches for
records from the lookup database in Record Number order.
\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~             \#Display index\~
\[1027, 363, *833, 834, 419]













































































Display Index
\!────────────────────────────────────────────────────────────\~

The display \#index\~ controls the order in which records in the
lookup database are displayed within the lookup window.

Select an index that belongs to the lookup database. This
index MUST already exist (if not, save the rules defined so
far, create the index, and then finish defining the lookup).

Suppose ZIP_CODE is your lookup database and ZIP is the
linking index. To display the records in order of city and
state, select ZIP_CODE's CITY_ST index as the display index.

If you omit the display index, Alpha Four uses the linking
index to order records within the lookup window.
\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~            \#Linking index\~
\[1027, *833, 834, 418]













































































Lookup Table screen
\!────────────────────────────────────────────────────────────\~

Fill in your lookup table. Values appear in the lookup
window in the order in which you enter them into this table.
In the table, each column represents a field.

Use F2 (Add column) to add another column, or field, to the
table. You can use up to 6 fields in a table. When you
select a value from the lookup table during data entry,
Alpha Four copies it, plus the additional fields, into the
corresponding fields in the current record.

Use F4 (Move) to move a row to a new position. Use F5
(Delete Row) and F6 (Insert Row) to delete or insert rows.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]














































































\!────────────────────────────────────────────────────────────\~

Move a row to a new position. The rows in the lookup window
are ordered exactly as you enter them here. If you want the
rows to appear in a particular order, you can re-arrange
them using F4 (Move).

Position the cursor anywhere in the row to be moved, and
press F4 (Move). Then use Up and Down to highlight the new
position for that row. Press Enter.

Alpha Four inserts the moved row into the new position,
re-ordering the table to accommodate it.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]












































































Adding a column
\!────────────────────────────────────────────────────────────\~

Each column in the table represents a field in the current
database. The table can contain up to 6 fields.

When you select a value from the lookup table during data
entry, Alpha Four copies it, plus the additional fields,
into the corresponding fields in the current record.

Press F2 (Add Column). Alpha Four displays the list of
fields in the current database. Select the field to be added
to the lookup table by highlighting it and pressing Enter.
The columns appear in the lookup table in the precise order
in which you add them.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Choice Field
\!────────────────────────────────────────────────────────────\~

A "choice" field is a field from the lookup database. A
choice field can be:

- Displayed in the lookup window, and copied into the
  corresponding \#filled field\~ in the current database

- Displayed in the lookup window, but not copied into the
  current database

- Copied into the corresponding filled field in the current
  database, but not displayed in the lookup window.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[424, *833, 834]













































































Filled Field
\!────────────────────────────────────────────────────────────\~

Select the field from the current database that corresponds
to the \#choice field\~ entered at the previous prompt. When you
select a record from the lookup database, the choice field's
value will be copied into this field.

Press F2 (Fields) to display the fields in the current
database. Select one by highlighting it and pressing Enter.

Using a filled field is optional. If you want to display a
choice field in the lookup window without copying it into
the current database, leave the corresponding filled field
blank.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[423, *833, 834]













































































Display
\!────────────────────────────────────────────────────────────\~

Enter "Y" if you want the \#choice field\~ displayed in the
lookup window. Choice fields are displayed in the order in
which they are listed on this screen.

If you choose to display the choice field, enter the field's
\#display width\~ in the "Width" column.

    \!┌─ \~Note \!───────────────────────────────────────────┐\~
    \!│\~ You can copy the field into the current database \!│\~
    \!│\~ without displaying it in the lookup window.      \!│\~
    \!└──────────────────────────────────────────────────┘\~


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[423, 426, *833, 834]













































































Width
\!────────────────────────────────────────────────────────────\~

If you want to display the \#choice field\~ in the lookup
window, enter the field's display width here.

Choose a width that displays enough of the field to make it
recognizable without making the lookup window so wide it
obscures fields that should be visible while the lookup
window is open.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[423, *833, 834]













































































Re-ordering the fields
\!────────────────────────────────────────────────────────────\~

The \#choice fields\~ are displayed in the lookup window in the
order in which they appear on this screen. If you want the
fields to appear in a particular order, you can re-arrange
the rows with F4 (Move).

Highlight the row to be moved, and press F4 (Move). Use Up
and Down to move the row to its new position (Alpha Four
"drags" the row as you move the cursor). Then press Enter.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[423, *833, 834]













































































Allow Exceptions
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to allow exceptions to the lookup's
validation mode. When the entered value violates the
validation, Alpha Four gives you the option of accepting it
anyway or entering another value.

To accept the value, select "Permit". To enter another
value, select "Retry".

To dis-allow exceptions, select "No". Alpha Four will accept
only values that adhere to the lookup validation mode.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Rows in window
\!────────────────────────────────────────────────────────────\~

Enter the number of rows to display in the lookup window.

Choose a number that will display a comfortable number of
rows, without obscuring fields that should be visible while
the lookup window is open.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Allow Exceptions
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to allow exceptions to the mask.
When the entered value violates the mask, Alpha Four gives
you the option of accepting it anyway or entering another
value.

To accept the value, select "Permit". To enter another
value, select "Retry".

To dis-allow exceptions, select "No". Alpha Four will accept
only values that adhere to the mask.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter trigger
\!────────────────────────────────────────────────────────────\~

Enter the name of the script that you want to playback when
this field is entered in Change or Enter mode.

Use F2 (Scripts) to display a list of the scripts stored in
your script path.

Use the Enter trigger field rule when you want the trigger
script you specify to play every time the cursor enters the
field.  Alternatively, you can use the SYS_TRIG_FIELD_ENTER
system variable.  This variable must always be set within
another script before the trigger script can execute.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Validate trigger
\!────────────────────────────────────────────────────────────\~

Enter the name of the script that you want to playback
before all field rule validation occurs.

Use F2 (Scripts) to display a list of the scripts stored in
your script path.

Use the Validate trigger field rule when you want the script
you specify to play every time the defined field rules are
validated.  Alternatively, you can use the
SYS_TRIG_FIELD_VALID system variable.  This variable must
always be set within another script before the trigger
script can execute.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Exit trigger
\!────────────────────────────────────────────────────────────\~

Enter the name of the script that you want to playback when
this field is exited in Change or Enter mode.

Use F2 (Scripts) to display a list of the scripts stored in
your script path.

Use the Exit trigger field rule when you want the trigger
script you specify to play every time the cursor exits the
field.  Alternatively, you can use the SYS_TRIG_FIELD_EXIT
system variable.  This variable must always be set within
another script before the trigger script can execute.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Deleting one or more field rules
\!────────────────────────────────────────────────────────────\~

F5 (Delete rules) deletes all of the field rules for the
currently highlighted field.

To delete just a few rules, edit the rules for this field
and re-set or delete them as necessary.

To delete all of the rules for all fields, back up to the
Field Rules menu and select the Erase rules command.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Dialog Box script name
\!────────────────────────────────────────────────────────────\~

Enter a name for the Dialog Box script. The script name must
be eight characters or less and is used to identify and
playback the Dialog Box script.  Therefore, you should use a
name which will help you easily identify this script.









\!════════════════════════════════════════════════════════════\~
     \#Using help\~         \#Help topics\~     \#What is a script?\~   
\[*833, 834, 1074]













































































Dialog Box description
\!────────────────────────────────────────────────────────────\~

Enter a description for the Dialog Box script. Since script
names are limited to eight characters, the description field
can help you differentiate between scripts. Information
about the script's purpose, the controls used and other
important information may be helpful.








\!════════════════════════════════════════════════════════════\~
    \#Using help\~         \#Help topics\~      \#What is a script?\~   
\[*833, 834, 1074]













































































Enter row position of Dialog Box script
\!────────────────────────────────────────────────────────────\~

Enter the row position (between 1 and 21) of the upper left
corner of the dialog box. 

You may use the F6 (Position) key to automatically fill in
the row and column parameters by moving an image of the
dialog box on the screen.  

The F6 (Position) command displays an image of the box, the
size of the height and width settings, over the screen. Use
the cursor keys to move the box to the desired position and
press ENTER to accept the box position. The row and column
positions are changed automatically.

\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~  \#Help topics\~  \#What is a script?\~   \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Dialog Box column position
\!────────────────────────────────────────────────────────────\~

Enter the column position of the upper left hand corner of
the dialog box. This can be a number between 1 and 80. 

You may use the F6 (Position) key to automatically fill in
the row and column parameters by moving an image of the
dialog box on the screen.  

The F6 (Position) command displays an image of the box, the
size of the height and width settings, over the screen. Use
the cursor keys to move the box to the desired position and
press ENTER to accept the box position. The row and column
positions are filled in automatically.

\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~  \#Help topics\~   \#What is a script?\~  \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Dialog Box height
\!────────────────────────────────────────────────────────────\~

Enter the height of the dialog box. The height is equal to
the number of rows in the dialog box.  Since a dialog box
can only occupy the first 21 rows of the screen, the maximum
dialog box height is 21. 

To automatically fill in the height and width parameters you
can use the F7 (Size) key. Pressing F7 will display an image
of the box over the screen. Use the UP and DOWN arrow keys
to expand or contract the height.




\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~  \#Help topics\~  \#What is a script?\~  \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Dialog Box width
\!────────────────────────────────────────────────────────────\~

Enter the width of the Dialog Box. The width is equal to the
number of columns that make up the box and can be up to 80
columns wide.

The F7 (Size) key can be used to automatically fill in the
height and width parameters. Pressing F7 (Size) will display
an image of the box over the screen. Use the LEFT and RIGHT
keys to expand and contract the width of the box.





\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~  \#Help topics\~  \#What is a script?\~   \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































F5 (Point) point to and read coordinates on the screen
\!────────────────────────────────────────────────────────────\~

You can use this command to easily determine the row and
column parameters of a screen location which may be required
as parameters by some script commands. 

For example, the READ command requires the length, column
and row of the screen position that it will read. The F5
(Point) command will fill in these parameters automatically.

Position the cursor on the desired screen location using the
control keys. Press ENTER to insert the coordinates into the
script or ESCAPE to cancel the Point command.


\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~   \#Help topics\~  \#What is a script?\~   \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Delete a block of text or commands
\!────────────────────────────────────────────────────────────\~
Delete a block of text from the script. Position the cursor
at the beginning of the block and press F4 (Block).

Then use the cursor keys to highlight the block. Press ENTER
to cut the block from the screen, moving any lines below it
up.

   \!┌─ \~Note \!──────────────────────────────────────────────┐\~
   \!│\~Alpha Four can only remember one block at a time, so \!│\~
   \!│\~be sure to replace the current block before staring  \!│\~
   \!│\~another.                                             \!│\~
   \!└─────────────────────────────────────────────────────┘\~
Also see Chapter 24, Memo Fields for move information on
block command procedures.
\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~  \#Help topics\~  \#What is a script?\~   \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Copy a block of text or commands
\!────────────────────────────────────────────────────────────\~

Copy a block of text form the script. Position the cursor at
the beginning of the block and press F4 (Block).

Then use the cursor keys to highlight the block. Press ENTER
to copy the block from the screen.

   \!┌─ \~Note \!──────────────────────────────────────────────┐\~
   \!│\~Alpha Four can only remember one block at a time, so \!│\~
   \!│\~be sure to replace the current block before staring  \!│\~
   \!│\~another.                                             \!│\~
   \!└─────────────────────────────────────────────────────┘\~


\!════════════════════════════════════════════════════════════
\~ \#Using help\~  \#Help topics\~   \#What is a script?\~  \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Insert a block of text or commands
\!────────────────────────────────────────────────────────────\~
Insert the last cut or copied block into the script. 

Position the cursor where you want to insert the block and
press F4 (Block). Select Insert and Alpha Four inserts the
block at the indicated location, pushing any lines below it
down.
   \!┌─ \~Note \!──────────────────────────────────────────────┐\~
   \!│\~Alpha Four can only remember one block at a time, so \!│\~
   \!│\~be sure to replace the current block before staring  \!│\~
   \!│\~another.                                             \!│\~
   \!└─────────────────────────────────────────────────────┘\~

Also see Chapter 24, Memo Fields for move information on
block command procedures.
\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~   \#Help topics\~  \#What is a script?\~  \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Mark an area of the screen
\!────────────────────────────────────────────────────────────\~

Use this command if you want to define an area of the Alpha
Four screen to be matched by a script's screen test before
that script can be played.

Press F6 (Mark screen area). The script definition window is
removed from the screen. Position the cursor at the top left
corner of the screen area you wish to mark and press ENTER.
Move the cursor to the bottom right corner of the screen
area and press ENTER again. 

Alpha Four fills into the keystroke script definition window
the coordinates of the marked screen area and the text to
match.
\!═══════════════════════════════════════════════════════════\~ 
\#Using help\~  \#Help topics\~   \#What is a script?\~  \#Shortcut keys\~
\[*833, 834, 1074, 873]













































































Enter name for the Keystroke script
\!────────────────────────────────────────────────────────────\~

Enter a name for the Keystroke script. The script name must
be eight characters or less and is used to identify and
playback this script.  Therefore, you should use a name
which will help you easily identify this script.








\!════════════════════════════════════════════════════════════\~
   \#Using help\~           \#Help topics\~        \#What is a script?\~
            \#Script commands\~      \#Using script commands\~
\[*833, 834, 1074, 1065, 1073]













































































Enter description for the keystroke script
\!────────────────────────────────────────────────────────────\~

Enter a description for the Keystroke script.  Since script
names are limited to eight characters, the description field
will help you differentiate between scripts. Information
about its purpose, the databases involved, the controls used
and other important information may be helpful.







\!════════════════════════════════════════════════════════════\~
    \#Using help\~         \#Help topics\~      \#What is a script?\~   
         \#Script commands\~        \#Using script commands\~       
\[*833, 834, 1074, 1065, 1073]













































































Keys/Commands
\!────────────────────────────────────────────────────────────\~
This is where the actual keystrokes and commands a Keystroke
script will play are displayed. You can enter keystrokes
manually by pressing ENTER (Edit). This displays the script
editor. Alternatively, you can have Alpha Four record
keystrokes by using either F3 (Learn keystrokes) or F4
(Append learn).

Use F3 (Learn keystrokes) if you have not yet entered any
keystrokes, or if you wish to overwrite previously entered
keystrokes. Use F4 (Append learn) if you have previously
entered keystrokes and would like to append additional
keystrokes to the end of the existing keystrokes.

\!════════════════════════════════════════════════════════\~    
\#Using help\~           \#Help topics\~      \#What is a script?\~    
        \#Script Commands\~       \#Using script commands\~         
\[*833, 834, 1074, 1065, 1073]













































































Screen test
\!────────────────────────────────────────────────────────────\~

Displays Yes or No to indicate screen test status. 

This test limits script playback to a specific Alpha Four
screen. It prevents a user from invoking a script from an
improper screen. 

Select No if screen compare is not required (i.e., it does
not make a difference from what screen the script is
invoked).

Select Yes to perform a screen comparison before playing
this script.

\!════════════════════════════════════════════════════════════\~
     \#Using help\~      \#Help topics\~      \#What is a script?\~     
\[*833, 834, 1074]













































































Play a script
\!────────────────────────────────────────────────────────────\~
Play back a previously created script.

If you need an aid to differentiate among the listed
scripts, press F8 (Detail on) and Alpha Four enlarges the
pop-up window to display additional information about each
script (e.g., whether it is a Dialog Box script or a
Keystroke script) and a description.

To select a script to play, use the UP, DOWN, HOME, END,
PAGE UP and PAGE DOWN keys to highlight a script, or type
the first few characters of the script's name. Then press
ENTER to start playing back the highlighted script.

\!═══════════════════════════════════════════════════════════\~ 
     \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Modify a script
\!────────────────────────────────────────────────────────────\~
The Modify a script command allows you to make changes to a
previously created Keystroke or Dialog Box script. You can
press F8 (Detail on) to see detail information about each
script.

If you are modifying a Keystroke script, you can change the
name, description, keys and commands and also add, delete or
change the screen test. 

If you are modifying a Dialog Box script, you can change the
name, description, row, column, height, width and add or
change any controls.

\!════════════════════════════════════════════════════════════\~
   \#Using help\~         \#Help topics\~         \#What is a script?\~ 
            \#Script commands\~     \#Using script commands\~       
\[*833, 834, 1074, 1065, 1073]













































































Create a Keystroke Script
\!────────────────────────────────────────────────────────────\~

This command allows you to create a script by either
recording keystrokes or by typing keystrokes and commands
directly into a script with the script editor.

When you create a Keystroke script you must specify a name
(up to eight characters), a description, the keys and
commands involved and whether or not you want a screen test.





\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Create a Dialog Box script
\!────────────────────────────────────────────────────────────\~

Allows you to create a script that displays a custom dialog
box. At playback time, the dialog box can prompt for
information or display data to the user.

Creating a Dialog Box involves deciding how big it should
be, where on the screen it should be placed and what
information it should present or obtain from the user.





\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Erase a script
\!────────────────────────────────────────────────────────────\~

Allows you to erase a selected script.

Alpha Four requires confirmation that you wish to delete the
selected script.

   \!┌─ \~Note \!──────────────────────────────────────────────┐\~
   \!│\~Once a script has been erased it cannot be recovered.\!│\~ 
   \!└─────────────────────────────────────────────────────┘\~




\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Debug a script
\!────────────────────────────────────────────────────────────\~
Allows you to playback a script one step at a time for
testing purposes. When a Dialog Box script is encountered
during debug, the dialog box is displayed on the screen.

If you are debugging a Keystroke script, Alpha Four displays
the script keys, commands and proper command syntax. The top
line of the script in the debug window is the next line in
the script to be executed. Use the F4 (Show screen) command
to show the Alpha Four screen under the debug window.

Use the F5 (Go) command to begin script play back from the
current position in the script or use the F10 (Single step)
command to pause between the play back of each command.
\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Load last selected script
\!────────────────────────────────────────────────────────────\~

Select last script to automatically load the previously
selected script.  This is especially useful if there are
numerous scripts in the current script path.

Alpha Four then displays a menu that lets you modify or play
the script immediately.







\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]












































































Play the script
\!────────────────────────────────────────────────────────────\~

Immediately play back the previously loaded script.











\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Display script variables
\!────────────────────────────────────────────────────────────\~

Displays a window listing all the current script variables
and values. Alpha Four permits you to edit the value of any
variable.

The names of the script variables are listed in a column
down the left hand side of the window and the the
corresponding value (if any) is listed down the right hand
side.

To edit any of the values, highlight the variable you wish
to change and press ENTER. Press ENTER again to save the new
value.
\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Set script path
\!────────────────────────────────────────────────────────────\~

Sets the directory Alpha Four will use to find and save
scripts.

When you start Alpha Four, the script path is either set to
the directory from which you start Alpha Four or by using
the -D=script_path command line option. 

Whenever Alpha Four executes a script, it checks the script
path you set here and then the data path (i.e., the
directory containing your databases and indexes).



\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]












































































Edit or play the last script
\!────────────────────────────────────────────────────────────\~
The Edit Last Script command allows you to make changes to
or play the most recently created or edited Keystroke or
Dialog Box script. 

If you are modifying a Keystroke script, you can change the
name, description, keys and commands and also add, delete or
change the screen test. 

If you are modifying a Dialog Box script, you can change the
name, description, row, column, height, width and add or
change any controls.


\!════════════════════════════════════════════════════════════\~
   \#Using help\~         \#Help topics\~         \#What is a script?\~ 
            \#Script commands\~     \#Using script commands\~       
\[*833, 834, 1074, 1065, 1073]













































































Edit the last script
\!────────────────────────────────────────────────────────────\~
The Edit Last Script command allows you to make changes to
the most recently created or edited Keystroke or Dialog Box
script. 

If you are modifying a Keystroke script, you can change the
name, description, keys and commands and also add, delete or
change the screen test. 

If you are modifying a Dialog Box script, you can change the
name, description, row, column, height, width and add or
change any controls.


\!════════════════════════════════════════════════════════════\~
   \#Using help\~         \#Help topics\~         \#What is a script?\~ 
            \#Script commands\~     \#Using script commands\~       
\[*833, 834, 1074, 1065, 1073]













































































Prompt Control
\!────────────────────────────────────────────────────────────\~

The Prompt control prompts the user for input. The data
entered at the prompt is stored in a script variable.

When you select a Prompt control, you must specify; the
prompt text, width of the prompt (max 255), width of
response window, mask and template options, variable in
which to store the response and text for a help line.





\!════════════════════════════════════════════════════════════
\~      \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Button control
\!────────────────────────────────────────────────────────────\~

Select the Button control to place a menu choice on the
dialog box. Each choice is called a Button, since selecting
one is like pushing a button

Each Button on a dialog box invokes a script when that
Button is pushed. The script could be either a Dialog Box
script or Keystroke script. 

When you choose a Button control you must specify; the text
that appears on the Button, the script that is played when
the Button is selected, and additional help text if desired.

\!═══════════════════════════════════════════════════════════\~ 
     \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Display control
\!────────────────────────────────────────────────────────────\~

Use a Display control if you want to display the value of a
script variable to the user without allowing the user to
modify the variable.

When you select the Display control command, you specify the
width of the display area and the script variable to be
displayed.





\!═══════════════════════════════════════════════════════════\~ 
     \#Using help\~            \#Help topics\~                     
              \#What is a script?\~      \#Shortcut keys\~         
\[*833, 834, 1074, 873]













































































Network Configuration (for network version only)
\!────────────────────────────────────────────────────────────\~
Select this command to change the network file sharing mode
(shared or exclusive) and the screen update interval.

Alpha Four automatically defaults single-user systems to
Exclusive mode and networked systems to Shared mode. In
Exclusive mode, only one user has access to a database.

If Shared mode is selected you can specify the number of
seconds Alpha Four should wait before updating your screen
when you are in View or Browse mode to reflect any changes
that other users on the network might have made to the
records you are currently viewing. Set the update frequency
to 0 if you do not wish to have your screen updated.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Filter expression
\!────────────────────────────────────────────────────────────\~

Enter a filter expression to select the records that you
would like to include in the index file.

The filter is an expression that evaluates to a logical
(TRUE or FALSE) result. Only those records for which the
filter is TRUE pass through the filter and are including in
the index.

By specifying a filter for an index, you specify both
selection and sorting criteria at the same time. Filtered
indexes are often the fastest way to search a database for
specific records. They can be substantially faster than the
alternative of building a search/sort list.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Use expressions for columns
\!────────────────────────────────────────────────────────────\~

You would select NO if you want Alpha Four to automatically
create columns for each unique value in a specified field
(the Column Field).

You would select Yes if you want to define the columns in
the cross tabulated database by entering a filter expression
for each column. 

You can use the F7 (Columns) command to display the
Calculated Fields screen where you can enter the field name
and filter expression for each field in the output cross
tabulated database. The filter expression must evaluate to a
TRUE or FALSE result.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Column field
\!────────────────────────────────────────────────────────────\~

This prompt is displayed when the Use expressions for column
prompt is set to No. 

Enter the name of the field from which the crosstab
database's column headings will be derived.

You can use the F2 (Fieldnames) command to see the list of
fields in the current database.





\!═══════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Tabulation Field
\!────────────────────────────────────────────────────────────\~

Enter the field to be summarized. 

Once the tabulation field has been chosen, you can select
the type of summarization to perform on this field. The
summarization types include Count, Biggest, Smallest, Null,
First, Last, Total and Average.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Tabulation operation
\!────────────────────────────────────────────────────────────\~


Enter the type of summary calculation Alpha Four should
perform on the tabulated field. The options are Count,
Biggest, Smallest, Null, First, Last, Total and Average.

To select an option, type its first letter,







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Create names database
\!────────────────────────────────────────────────────────────\~
This prompt is only displayed if Alpha Four derives column
titles automatically. 

Select Yes if you want Alpha Four to create a special Names
database. The Names database contains one record for each
cross tabulated database column.

Each record in the Names database consists of two fields:
XTAB_NAME (10-character field name for each column in the
cross tabulated database) and REAL_NAME (the corresponding
full name).

You can use this as a reference to match the field names in
the cross tabulated database with the actual values.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































See results immediately
\!────────────────────────────────────────────────────────────\~

If you select Yes, Alpha Four will automatically open the
cross tabulated database after it has been generated. 

It then automatically creates a report layout to display the
cross tabulated results and prints it to the screen. The
report can be manually edited to suit your needs more
closely. 






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Open a database/set
\!────────────────────────────────────────────────────────────\~

Opens a database/set and makes it the current database/set.
The database/set is also added to the current \#Desktop\~. Alpha
Four will display a list of all of the databases and sets in
the current directory. 

To select a database or set from the list, highlight it and
press ENTER, or type the name, specifying the drive/path if
necessary. 

When you open a database it becomes part of the current
desktop. If the desktop already contains 10 databases or
sets, the file that you open will NOT become part of the
current desktop.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[506, *833, 834]













































































Switch database
\!────────────────────────────────────────────────────────────\~

Open a database from the current \#Desktop\~. To select a
database from the list press the number or letter to the
left of the database or set, or highlight the database or
set and press ENTER.

You can also access this menu directly by pressing "W" from
the Alpha Four main menu and while in View or Browse mode.

You can also use the Alt-F8 key to switch to the next file
in the current Desktop, or the Alt-F7 to switch to the
previous file in the current Desktop.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[506, *833, 834]













































































Close a database
\!────────────────────────────────────────────────────────────\~

Close a database and remove it from the current \#Desktop\~.
Highlight the database or set you wish to close and press
ENTER. 

If you close the current database or set, Alpha Four will
display the Database Directory screen for you to choose a
new current database or set. 

You will need to use the Close a database command if you
have ten database in the current Desktop and you wish to add
another file to the Desktop.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[506, *833, 834]













































































Save the current desktop
\!────────────────────────────────────────────────────────────\~

Save the current \#Desktop\~.

Desktops are stored as files with names which you provide,
up to eight alphanumeric characters in length. Alpha Four
automatically assigns the .DTN extension to the file name.

Desktops are stored in your Private directory (i.e., the
directory from which you start Alpha Four).





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[506, *833, 834]













































































Retrieve a desktop
\!────────────────────────────────────────────────────────────\~
Retrieve a \#Desktop\~ and make it the current Desktop.

When you select this command, Alpha Four displays the
Desktop Directory, displaying all of the Desktops in your
Private directory (i.e., the directory from which you
started Alpha Four). 

If no Desktop exists in your Private directory an error
message will display.

To select a Desktop, highlight it, or type its name and
press ENTER.

The last file in the Desktop becomes the current file.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[506, *833, 834]













































































Erase a desktop
\!────────────────────────────────────────────────────────────\~
Erase a \#Desktop\~.

When you select this command Alpha Four displays the Desktop
Directory screen showing all the Desktops in your Private
directory. If no Desktop exists in your Private directory, a
warning message is displayed.

To select the desktop to erase, highlight it, or type its
name and press ENTER.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[506, *833, 834]













































































Clear current desktop
\!────────────────────────────────────────────────────────────\~

Select this command to remove all of the databases and sets
from the current \#Desktop\~ except for the current database or
set.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[506, *833, 834]













































































Area code
\!────────────────────────────────────────────────────────────\~

Enter your home area code. 

If the number you are dialing is in your home area code,
Alpha Four will not dial the area code.

If the number you are dialing is outside your home area
code, Alpha Four will dial the area code, preceeded
optionally by a "1".





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Dial a one
\!────────────────────────────────────────────────────────────\~

Select Yes if you want Alpha Four to automatically dial a
one before the telephone numbers outside your home area
code.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Prefix
\!────────────────────────────────────────────────────────────\~

Enter the prefix you need to dial out. If no prefix is
needed leave this prompt blank.

For example, many office PBX systems require you to dial a
"9" to get an outside line.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Com port
\!────────────────────────────────────────────────────────────\~

Specify to which of the four available Com ports your modem
is attached.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Modem
\!────────────────────────────────────────────────────────────\~

Select the type of modem you will be using. The choices are
None and Hayes.

The current version of Alpha Four supports only
Hayes-compatible modems.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Dial
\!────────────────────────────────────────────────────────────\~

Enter the method Alpha Four should use to dial numbers;
Pulse or Tone.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Create/edit a saved crosstab
\!────────────────────────────────────────────────────────────\~

Create a new, or edit an existing crosstab definition. 

You can create up to 26 (A-Z) crosstab definitions per
database/set. 









\!════════════════════════════════════════════════════════════\~
     \#Using help\~         \#Help topics\~          \#Example\~        
\[*833, 834, 693]













































































Run a saved crosstab
\!────────────────────────────────────────────────────────────\~

Run a previously created crosstab definition.












\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































One-time crosstab
\!────────────────────────────────────────────────────────────\~

Create and run a one-time crosstab.  Alpha Four does not
save the crosstab definition for future use. If you intend
to re-run the crosstab use Create/edit saved crosstab.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Erase a saved crosstab
\!────────────────────────────────────────────────────────────\~

Erase a saved crosstab.  Erasing a saved crosstab does not
erase the cross tabulated database, it simply erases the
crosstab definition.


   \!┌─ \~Note \!──────────────────────────────────────────────┐\~
   \!│\~Once a crosstab definition has been erased it cannot \!│\~
   \!│\~be recovered.                                        \!│\~ 
   \!└─────────────────────────────────────────────────────┘\~




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Phone number
\!────────────────────────────────────────────────────────────\~

Select which field(s) in the current database contain phone
numbers. 

Any valid Alpha Four expression can be used to create a
telephone number field. For example if your database
contains an area code field and a number field, you could
use the expression AREA+NUMBER in the Phone Number column.

You can define up to eight telephone numbers per database.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Phone numbers
\!────────────────────────────────────────────────────────────\~

Select the Phone numbers command to specify which fields in
the current database contain phone numbers. 

You can define up to eight telephone numbers per database.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Global settings
\!────────────────────────────────────────────────────────────\~

Enter configuration information that Alpha Four will use
when dialing telephone calls. These settings include:

- area code
- whether "1" should be dialed before calls outside your
  home area code
- whether a prefix should be dialed
- to which of the four Com ports your modem is attached
- your modem type
- the dialing method (tone or pulse).



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Required field
\!────────────────────────────────────────────────────────────\~

Specify that a field must always be filled in or that it
must be filled in under certain conditions. During data
entry Alpha Four will not let you save the record until all
the required fields have been filled in.

The options for this field are No, Yes and Expression.
Select No if the field is optional and does not have to be
filled in. Select Yes if the field is always required and
select Expression if the field is required only under
certain conditions.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Range checking
\!────────────────────────────────────────────────────────────\~

The value you entered for this field does not fall within
the range which was specified.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Telephone Dialer
\!────────────────────────────────────────────────────────────\~


Setup your telephone configuration. You can specify which
fields in the current database contain phone numbers as well
as specifying global telephone communications settings.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Desktops
\!────────────────────────────────────────────────────────────\~

Desktops












\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Append Database
\!───────────────────────────────────────────────────────────\~

Select All if you want to append ALL of the records from the
external database to the end of the current database.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Append Unique
\!───────────────────────────────────────────────────────────\~

Select Unique if you want to append only unique records from
the external database to the end of the current database.

Alpha Four checks the primary index key to determine if a
record is unique. If there is no record in the current
database with the same key value as the record in the
external database, Alpha Four appends the record from the
external database.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Replace Existing, Add Unique
\!────────────────────────────────────────────────────────────\~
Select the Replace Existing, Add Unique option if you want
to:

1)  Append unique records from the external database.

2)  Replace existing records in the current database with
    the corresponding record from the external database. 

For each record in the external database, Alpha Four
determines if a record with the same primary index key value
exists in the current database. If so, the record in the
external database is considered to be an "existing" record.
Otherwise, the record from the external database is
considered to be "unique".
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Replace Existing, Mark Unique
\!────────────────────────────────────────────────────────────\~
Select the Replace Existing, Mark Unique option if you want
to:

1)  Replace existing records in the current database with
    the corresponding record from the external database. 
2)  Mark as deleted, unique records in the external
    database.

For each record in the external database, Alpha Four
determines if a record with the same primary index key value
exists in the current database. If so, the record in the
external database is considered to be an "existing" record.
Otherwise, the record from the external database is
considered to be "unique".
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Saved color setting
\!────────────────────────────────────────────────────────────\~

This command allows you to access several different saved
color schemes. You can retrieve a predefined color setting,
save the current color setting for future use, erase an
existing saved color setting and define the current color
setting as a default for all other databases and sets which
do not have color setting explicitly defined.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Color Settings
\!────────────────────────────────────────────────────────────\~

On the left, the screen displays a list of each section of
an Alpha Four screen for which you can adjust the color. On
the right, the screen displays a template. The template
blinks the screen section you are coloring.

To change to the color, highlight the area to be changed and
press ENTER. Alpha Four displays a color section grid.
Highlight the desired color and press ENTER. You can also
press F7 (Alternate) to select colors from a menu.

When you have made your selections, press F10 (Continue) to
save the color setting for the current database or set.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































F2 (Color Palette)
\!────────────────────────────────────────────────────────────\~

If you are using a VGA color monitor, you can use the F2
(Custom Palette) command to create your own custom color
palettes. You can select eight foreground and eight
background colors from the 64,000 different colors Alpha
Four can display on VGA monitors.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Scripts pop-up window
\!────────────────────────────────────────────────────────────\~

The Scripts pop-up window list the names of all the scripts
in the current \#script path\~. This window can display up to
400 script names. 

To see additional information about each script and its
description press F8 (Detail on).







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[460, *833, 834]













































































What is a Desktop?
\!────────────────────────────────────────────────────────────\~
A Desktop is a logical group of databases and/or sets that
you can name and save for later use. You can have up to 10
databases or sets as part of a Desktop. 

Each time you use the Choose database/set, Open a database
command, the file that you select is added to the current
Desktop, up to the limit of 10 files in a Desktop.

To select a database or set from the current Desktop, simply
press "W" from the Main Menu, View, or Browse mode, or
select the Choose database/set, Switch databases command.
Alternatively, you can use Alt-F7 and Alt-F8 function keys
to quickly select the previous or next file in the Desktop.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Menu Bar Script
\!────────────────────────────────────────────────────────────\~

This command lets you define a menu bar with customized
choices that you can assign to a form or browse table.

When you define a custom menu bar, be sure that for each
action you want available from your layout, you either
include a menu choice or specify that the corresponding
\#quick key\~ is active.

To assign a custom menu bar to a form or browse table, edit
the layout to change the \#Menu bar type\~ setting on the Form
or Browse Table Parameters screen.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[513, 244, *833, 834]













































































Menu bar script name
\!────────────────────────────────────────────────────────────\~

Enter a name for the Custom Menu Bar script. The script name
must be eight characters or less. It is used when you assign
the Custom Menu Bar to a form or browse table layout.

You might want to name a Custom Menu Bar script for the
database for which it is intended.







\!════════════════════════════════════════════════════════════\~
     \#Using help\~         \#Help topics\~     \#What is a script?\~   
\[*833, 834, 1074]













































































Menu bar script description
\!────────────────────────────────────────────────────────────\~

Enter a description for the Custom Menu Bar script. Since
script names are limited to eight characters, the
description field can help you differentiate between
scripts. Information about the script's purpose and the
contents of the menu bar it defines may be helpful.








\!════════════════════════════════════════════════════════════\~
     \#Using help\~         \#Help topics\~     \#What is a script?\~   
\[*833, 834, 1074]













































































Choice name
\!────────────────────────────────────────────────────────────\~

Enter the name you want displayed on the custom menu bar for
the choice defined on this row.  Keep in mind that the total
length of a menu bar is limited to 80 characters.

Alpha Four automatically includes one blank space between
menu choices.  To include additional spaces, add trailing
spaces after menu choice names.

Alternatively, use F2 (Standard Commands) to choose from 20
standard Alpha Four commands.  Use Up and Down to highlight
a command and Enter to select it.  Alpha Four automatically
enters the corresponding action.

\!════════════════════════════════════════════════════════════\~
\#Next page\~              \#Using help\~                \#Help topics\~
        \#What is a script?\~          \#Shortcut keys\~            
\[514, *833, 834, 1074, 873]












































































Action
\!────────────────────────────────────────────────────────────\~

Record or enter the keystrokes and script commands you want
to execute.

Use F3 (Learn Macro) to record the keystrokes.  Press Alt-F3
to end recording.

   \!┌─ \~Note \!────────────────────────────────────────────┐\~
   \!│\~You must be in either View or Browse mode when you \!│\~
   \!│\~record the keystrokes.                             \!│\~
   \!└───────────────────────────────────────────────────┘\~

Press Enter to display the Macro Editor.

\!════════════════════════════════════════════════════════════\~
\#Next page\~              \#Using help\~                \#Help topics\~
        \#What is a script?\~          \#Shortcut keys\~            
\[514, *833, 834, 1074, 873]












































































Condition
\!────────────────────────────────────────────────────────────\~

If you want to assign a conditional test to a menu choice
that determines when it displays, enter a valid expression.

A menu choice displays if the expression evaluates to TRUE.

To indicate that a menu choice always display, leave the
Condition column blank.






\!════════════════════════════════════════════════════════════\~
\#Next page\~              \#Using help\~                \#Help topics\~
       \#What is a script?\~       \#Understanding expressions\~    
\[514, *833, 834, 1074, 914]












































































Quick key selection
\!────────────────────────────────────────────────────────────\~

Select the quick keys you want active when this custom menu
bar displays.

Use Up and Down to highlight a quick key.  Press Enter to
select or unselect a quick key.  All selected quick keys are
checked.







\!════════════════════════════════════════════════════════════\~
            \#Using help\~                \#Help topics\~           
\[*833, 834]













































































Menu bar definition function keys
\!────────────────────────────────────────────────────────────\~

Use F9 (Quick keys) to select the quick keys you want to be
active when your custom menu bar is used.

Use F5 (Del) to delete the current row.  Use F6 (Ins) to
insert a blank row above the current row.  Choices are
displayed on the menu bar in the order you enter them here.







\!════════════════════════════════════════════════════════════\~
          \#Using help\~                \#Help topics\~             
\[*833, 834]















































































\!────────────────────────────────────────────────────────────\~














\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]












































































Available crosstab definitions
\!────────────────────────────────────────────────────────────\~

Select a crosstab definition by either highlighting it and
pressing Enter, or by typing the corresponding letter.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Referential Integrity
\!────────────────────────────────────────────────────────────\~

When you create a one-to-many link, Alpha Four displays
Referential Integrity options that let you specify how your
link is managed.

With Referential integrity enabled, Alpha Four automatically
fills the common fields in the child record with the
corresponding values from the common fields in the current
parent record.  You must be entering or editing records
using a form with a region.



\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[519, *833, 834]













































































Referential Integrity
\!────────────────────────────────────────────────────────────\~

Optionally, you can enable Cascading updates to prevent
child database records from becoming orphaned (no longer
matched with a parent record) when changes are made to
certain parent record values.

Optionally, you can enable Cascading deletes to ensure that
child database records that are meaningless when not
associated with a parent record are deleted when the parent
record is deleted.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Child Database Editing Options
\!────────────────────────────────────────────────────────────\~

When you create a one-to-one link, Alpha Four displays the
Child database editing options.

Since frequently you may create a link to a lookup database
in which you do not want values edited from within that
particular set, Alpha Four provides the Can edit child
database option (select No).

If you set the Can edit child database option set to Yes,
Alpha Four provides a related option:  Can add new records
to child database.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[521, *833, 834]













































































Child Database Editing Options
\!────────────────────────────────────────────────────────────\~

With this second option enabled, when you type a value(s) in
the linking field(s) of the parent database, Alpha Four
automatically creates a new record in the child database if
no matching record already exists.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Can edit child database option
\!────────────────────────────────────────────────────────────\~

When you select "First," "Last," or "Closest" at the Link to
prompt, you create a one-to-one link.  Alpha Four displays
the Child Database Editing options.

Yes
\!──────────────────────────\~
Select Yes to specify that you can edit values in child
database fields.

Prompt
\!──────────────────────────\~
Select Prompt to specify that Alpha Four prompt you before
letting you edit a child database record.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Can add new records to child database
\!────────────────────────────────────────────────────────────\~

When you select First, Last, or Closest at the Link to
prompt, you create a one-to-one link.  Alpha Four displays
the Child Database Editing options.

Yes
\!──────────────────────────\~
Select Yes to specify that you can add new records to the
child database.  

Prompt
\!──────────────────────────\~
Select Prompt to specify that Alpha Four prompt you before
letting you enter a child database record.
\!════════════════════════════════════════════════════════════\~
\#Next page\~              \#Using help\~                \#Help topics\~
\[524, *833, 834]













































































Can add new records to child database
\!────────────────────────────────────────────────────────────\~

If you select Yes, when you type a value(s) in the linking
fields of the parent database, Alpha Four automatically
creates a new record in the child database if no matching
record already exists.

Use F7 (Integrity Rule) to define the \#integrity rule field
mappings\~ that indicate which common field(s) in the parent
database are used to automatically fill corresponding
field(s) in the child database.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[526, *833, 834]













































































Evaluate screen
\!────────────────────────────────────────────────────────────\~

The Evaluate screen displays the result of the entered
expression for each record in the parent database.

Use F7 (Next record) to scroll through values derived from
the expression.

Use F10 (Continue) to return to the Integrity Rule screen.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Integrity Rule Screen
\!────────────────────────────────────────────────────────────\~
Use the Integrity Rule screen to define:

For a one-to-many link, how cascading updates work for the
link.  Specifically, which of the child database's linking
fields are changed and how (using values from which common
field(s) from the parent database).

For a one-to-one link, how new child database records are
automatically entered by Alpha Four.  Specifically, which of
the child database's linking fields are filled and how
(using values from which common field(s) from the parent
database).

Use F5 (Del) to delete the current line of field mappings.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Integrity Rule Screen
\!────────────────────────────────────────────────────────────\~
Use the Integrity Rule screen to define:

For a one-to-many link, how cascading updates work for the
link.  Specifically, which of the child database's linking
fields are changed and how (using values from which common
field(s) from the parent database).

For a one-to-one link, how new child database records are
automatically entered by Alpha Four.  Specifically, which of
the child database's linking fields are filled and how
(using values from which common field(s) from the parent
database).

Use F5 (Del) to delete the current line of field mappings.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Field
\!────────────────────────────────────────────────────────────\~

If the link depends on just one set fields (i.e., the
linking index indexes just one field and the common field is
listed as a single field), these fields are used by default
on the Integrity Rule screen.  You do not need to change the
mapping at all.  Press F10 to continue.

If a multi-level linking index is used, the screen appears
blank.  Press F2 Fields to select the child database field
for the mapping.

Define one row (mapping) for each child database field you
want to included as part of the Integrity Rule.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Expression
\!────────────────────────────────────────────────────────────\~

If the link depends on a single-level index (built with just
one field), this field and the listed common field or
expression from the parent database are used by default on
the Integrity Rule screen.  You do not need to change the
mapping at all.  Press F10 to continue.

If a multi-level index is used, the screen appears blank.
Use F2 (Field) to display a list of the common field(s) in
the parent database.  Use F3 (Functions) to display a list
of functions.  An expression might concatenate fields.


\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[530, *833, 834]













































































Expression
\!────────────────────────────────────────────────────────────\~

For example:

    RTRIM(FIRSTNAME)+SPACE(1)+LASTNAME.

might be equivalent to FULLNAME in the previous column.

With the cursor at the Expression prompt and a valid
expression entered, use \#F7 (Eval)\~ to display the value that
results from the expression.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[525, *833, 834]














































































































































































































































































































































































ALPHA Database Manager II (DBMII)
\!────────────────────────────────────────────────────────────\~

Select this option to import data from ALPHA Data Base
Manager II, version 2.

In the Field Adjust screen, Alpha Four will propose a
default field type of Character for all fields. If a field
contains only numbers, change it to Numeric. If the field
contains only dates (in the format MM-DD-YYYY, MM-DD-YY,
MM/DD/YYYY, or MM/DD/YY), change it to Date.

Alpha Four may automatically change some fieldnames, since
DBMII allows duplicate fieldnames and fieldnames containing
spaces or non-alphanumeric characters, but Alpha Four does
not.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Lotus 1-2-3 and Symphony worksheets
\!────────────────────────────────────────────────────────────\~

Select this option to import data from Lotus 1-2-3 (version
1, 1A, or 2) and from Symphony (version 1 or 2) worksheets.

The spreadsheet must contain data in a table format, where
each row represents a record and each column represents a
field. The table must begin in the first cell of the
spreadsheet. If it does not, delete the empty rows and
columns before you import the spreadsheet.

 \!┌─ \~Note \!──────────────────────────────────────────────────┐\~
 \!│\~ Use this option to import spreadsheets from AlphaWorks. \!│\~
 \!└─────────────────────────────────────────────────────────┘\~

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































SYLK files
\!────────────────────────────────────────────────────────────\~

Select this option to import a Microsoft Symbolic (SYLK)
file into Alpha Four.

This also allows you to import data stored in a Multiplan
spreadsheet. To save the Multiplan spreadsheet in SYLK
format, use the Transfer, Options, Symbolic, and then the
Transfer, Save commands. Give the file the .SLK extension.

Importing SYLK files is similar to importing Lotus 1-2-3 and
Symphony files.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































dBASE II (.DBF files)
\!────────────────────────────────────────────────────────────\~

Select this option to import .DBF files from dBASE II.

Note: dBASE III, dBASE III Plus and dBASE IV files (with 128
or fewer fields) do NOT have to imported into Alpha Four.
You can use these files directly with Alpha Four.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































VisiCalc (.DIF files)
\!────────────────────────────────────────────────────────────\~

Select this option to import files in the .DIF format.

Importing .DIF files is similar to importing Lotus 1-2-3 and
Symphony files.

   \!┌─ \~Note \!─────────────────────────────────────────────┐\~
   \!│\~ Use this option to import data from Electric Desk. \!│\~
   \!└────────────────────────────────────────────────────┘\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Character separated ASCII files
\!────────────────────────────────────────────────────────────\~

Select this option to import ASCII files that use some type
of character delimiter between fields. Alpha Four can import
files delimited with any type of character.

For example, the figure below shows a file whose fields are
separated with commas:

                  \!┌─────────────────────┐\~
                  \!│\~ NAME,AGE,DEPARTMENT \!│\~
                  \!│\~ Jones,22,Sales      \!│\~
                  \!│\~ Smith,35,R&D        \!│\~
                  \!│\~ Wesson,28,Marketing \!│\~
                  \!└─────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Table ASCII files
\!────────────────────────────────────────────────────────────\~

Select this option to import ASCII files that are set up as
tables, with fields appearing in specified columns. These
files do not use any delimiter to mark fields.

For example, the figure below shows an ASCII file in table
format:

               \!┌───────────────────────────┐\~
               \!│\~ NAME     AGE   DEPARTMENT \!│\~
               \!│\~ Jones    22    Sales      \!│\~
               \!│\~ Smith    35    R&D        \!│\~
               \!│\~ Wesson   28    Marketing  \!│\~
               \!└───────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































PFS:File
\!────────────────────────────────────────────────────────────\~

Select this option to import data from PFS:File.

If the file has more than 128 fields, Alpha Four will import
only the first 128 fields, with a maximum of 254 characters
per field.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Import a WordPerfect Merge document
\!────────────────────────────────────────────────────────────\~

Select this option to import from a WordPerfect 5.1
secondary merge file.  

Enter the name of the WordPerfect 5.1 secondary merge file
to be imported. Alpha Four assumes a .MRG extension for the
merge file.

If the file has more that 128 fields, Alpha Four will only
import the first 128 fields in each record, with a maximum
of 254 characters per field.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]













































































Field Adjust screen
\!────────────────────────────────────────────────────────────\~

The Field Adjust screen lets you modify the default field
names, types, and lengths before importing data.

You can also specify whether individual fields should be
imported.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































File has fieldnames
\!────────────────────────────────────────────────────────────\~

Select "No" if the first record in the file does not contain
fieldnames. 

Select "Use" if the first record in the file contains
fieldnames. Alpha Four will use them as default fieldnames
for the new database.

Select "Ignore" if the first record in the file contains
fieldnames, but you want Alpha Four to ignore them. Use this
option when you use "Saved Import Settings" if you do not
want to override the fieldnames saved in the import
settings.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































How many fields in a record
\!────────────────────────────────────────────────────────────\~

Enter the number of fields in each record.

You need only fill in this parameter if the file does not
contain carriage return/linefeed combinations at the end of
each record, or if the fields are also separated by carriage
return/linefeed combinations.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































File has Returns/Linefeeds
\!────────────────────────────────────────────────────────────\~

Select "Yes" if each record in the file is terminated with a
carriage return/linefeed combination (^M^J). Most ASCII
files use this combination after each record (these are
known as "sequential" files).

Files in which records do not end with carriage
return/linefeed are called "random" files.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Length of record
\!────────────────────────────────────────────────────────────\~

Enter the length of each record.

If you are unsure, press F2 (Examine table file) to display
a sample record from the file. Then use the left and right
cursor keys to point to the end of the sample record; Alpha
Four enters the length at this prompt.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Examine file for defaults
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to scan the file,
recommending field types and lengths for each field to be
imported.

You can modify these defaults in the \#Field Adjust screen\~.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[543, *833, 834]













































































Default decimal places
\!────────────────────────────────────────────────────────────\~

Enter the default number of decimal places to be used for
numeric fields. For example, if you enter 2 here, Alpha Four
will assume that every numeric field has 2 decimal places.

You can override this for individual fields on the \#Field
Adjust screen\~.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[543, *833, 834]













































































Default field width
\!────────────────────────────────────────────────────────────\~

Enter the default width (length) for fields. For example if
you enter 8 here, Alpha Four will assume that every field is
8 characters long.

You can override this for individual fields in the \#Field
Adjust screen\~.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[543, *833, 834]













































































Default field type
\!────────────────────────────────────────────────────────────\~

Enter the field type for the majority of fields in the file.
For example, of most of the fields contain character data,
enter Character as the default field type.

You can override this for individual fields in the \#Field
Adjust screen\~.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[543, *833, 834]













































































Default spacing
\!────────────────────────────────────────────────────────────\~

Enter the number of blank spaces between fields within the
file. Alpha Four uses this, with the "Default field width",
to determine the starting and ending positions of each
field.

You can override the default spacing, as well as the field
widths, in the \#Field Adjust screen\~.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[543, *833, 834]













































































Record separator
\!────────────────────────────────────────────────────────────\~

Enter the character(s) used to separate records within the
file.

Most files use the carriage return/linefeed combination
(^M^J); this is assumed as the default.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Field separator
\!────────────────────────────────────────────────────────────\~

Enter the character(s) use to separate fields within each
record.

A comma is often used as the field separator; Alpha Four
uses this as the default.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Lotus file types
\!────────────────────────────────────────────────────────────\~

Select which of the Lotus file types you are importing. You
can determine the file type by the filename extension:

File type                Extension    
\!──────────────────────\~   \!────────── \~  
1-2-3, version 1 or 1A   .WKS         
1-2-3, version 2         .WK1         
Symphony, version 1.01   .WRK         
Symphony, version 1.1    .WR1         




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Adjusting field lengths and starting positions
\!────────────────────────────────────────────────────────────\~

Enter the starting position and width (length) of each
field. Alpha Four displays the default values, determined
either by scanning the file, or from the information that
you provided.

If you modify the position or length of a field, you can
automatically re-calculate positions and lengths for the
remaining fields by pressing F3 (Re-tab subsequent fields).

Press F9 (Highlight example) to display a sample record from
the file. Use Left and Right to indicate the starting and
ending positions for each field. Alpha Four fills in the
starting columns and field widths for you.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Highlighting the sample record
\!────────────────────────────────────────────────────────────\~

Use Left and Right to position the blinking arrow over the
field's starting position, and press Enter. Alpha Four fills
in that value as the "Column" for the current field.

Next, use Left and Right to position the blinking arrow over
the field's last column, and press Enter. Alpha Four uses
the ending position to determine the field's length, which
is filled in automatically as the "Width".

Repeat this for each field, as necessary.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































ALPHA Database Manager II (DBMII)
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
ALPHA Data Base Manager II, version 2 or later. You can
export a maximum of 40 fields to DBMII, with a maximum of 60
characters per field. Alpha Four will automatically truncate
field lengths as necessary.

When you enter a name for the DBMII file, it MUST include
the letters "DR" in the last 2 positions (as in "EXPORTDR").
Alpha Four automatically adds the file extension.

To export to DBMII, versions 1 through 1.3, select this
option, export the data, and then run the BUILDDIR utility
that is supplied with older versions of DBMII.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Lotus 1-2-3 and Symphony spreadsheets
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
a 1-2-3 (versions 1, 1A, and 2) or Symphony (versions 1 and
2) spreadsheet.

     \!┌─ \~Note \!────────────────────────────────────────┐\~
     \!│\~ Use this option to export data to AlphaWorks. \!│\~
     \!└───────────────────────────────────────────────┘\~






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































SYLK file
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
a SYLK file, which can be read into Multiplan.

Character, date, and logical fields are exported as
spreadsheet labels, while numeric fields are exported as
numbers.

To load the exported file into Multiplan, use the Transfer,
Options, Symbolic command.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































dBASE II (.DBF file)
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
dBASE II as a .DBF file.

Since dBASE II allows a maximum of 32 fields per record,
Alpha Four will only export 32 fields. Because dBASE II does
not support date fields, Alpha Four will export them as
character fields.

Note: You do NOT need to export data to dBASE III, dBASE III
Plus and dBASE IV. You can use your Alpha Four files
directly with these programs.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































VisiCalc (.DIF file)
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
a .DIF file.

Files using the .DIF format can be read into a variety of
formats, including Alpha Software Corporation's Electric
Desk program.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Character separated ASCII files
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
a character-separated ASCII file. Fields in these files are
often delimited with commas, as in the example below:
                  \!┌─────────────────────┐\~
                  \!│\~ NAME,AGE,DEPARTMENT \!│\~
                  \!│\~ Jones,22,Sales      \!│\~
                  \!│\~ Smith,35,R&D        \!│\~
                  \!│\~ Wesson,28,Marketing \!│\~
                  \!└─────────────────────┘\~
Character-separated ASCII files are often used by word
processors for mail merge operations. While Alpha Four
provides a powerful form-letter capability, you may prefer
to export data to your favorite word processor.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Table ASCII file
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
a table-format ASCII file.

These files organize data into tables, separating fields
with a specified number of spaces instead of using a
character delimiter. Each row in the table contains 1 record
from the database or set, as in the example below:
               \!┌───────────────────────────┐\~
               \!│\~ NAME     AGE   DEPARTMENT \!│\~
               \!│\~ Jones    22    Sales      \!│\~
               \!│\~ Smith    35    R&D        \!│\~
               \!│\~ Wesson   28    Marketing  \!│\~
               \!└───────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































PFS:File
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
PFS:File.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Multimate secondary document
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
a Multimate mail merge file.

Multimate uses the file to create form letters. The file
created by Alpha Four is a standard Multimate document,
which you can edit in Multimate. All of the appropriate
Multimate merge codes are inserted into the file.

Each record in the database becomes 1 page in the mail merge
document. Make sure you do not export more than 254 records
at a time, since Multimate documents cannot contain more
than 254 pages.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Word Perfect merge document
\!────────────────────────────────────────────────────────────\~

Select this option to export the current database or set to
a Word Perfect Version 5.1 mail merge document.

The file that Alpha Four creates is a standard Word Perfect
merge document.

Before you can use this file in the merge operation, you
must retrieve it within Word Perfect, and save it.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of spaces between fields
\!────────────────────────────────────────────────────────────\~

Enter the number of blank spaces to use between fields in
the ASCII table file.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Output fieldnames
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the first record in the ASCII table
to contain the fieldnames.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter field separator
\!────────────────────────────────────────────────────────────\~

Enter the character that will be used to separate fields.
Typically, this character is a comma, but you can use any
character you want.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter record separator
\!────────────────────────────────────────────────────────────\~

Enter the character(s) that will be used to separate
records. The default is the carriage return/linefeed
combination (^M^J).










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enclose character fields in ""s
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want character fields enclosed in
quotation marks, as in "Johnson".











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Suppress trailing blanks
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to strip the trailing
blank spaces from each field.

The figures below show the file with trailing blanks
included, and then with trailing blanks suppressed:

   \!┌───────────────────────────┐\~  \!┌─────────────────────┐\~
   \!│\~ NAME    ,AGE,DEPARTMENT   \!│\~  \!│\~ NAME,AGE,DEPARTMENT \!│\~
   \!│\~ Jones   ,22 ,Sales        \!│\~  \!│\~ Jones,22,Sales      \!│\~
   \!│\~ Smith   ,35 ,R&D          \!│\~  \!│\~ Smith,35,R&D        \!│\~
   \!│\~ Wesson  ,28 ,Marketing    \!│\~  \!│\~ Wesson,28,Marketing \!│\~
   \!└───────────────────────────┘\~  \!└─────────────────────┘\~

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Suppress the trailing field separator
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to strip off the field separator
following the last field (since each record already has a
record separator). If you select "No", each record will end
with a field separator and a record separator.

The figures show the file with a trailing separator (the
last comma), and then without the trailing separator:
 \!┌──────────────────────────┐\~  \!┌─────────────────────────┐\~
 \!│\~ NAME,AGE,DEPARTMENT,^M^J \!│\~  \!│\~ NAME,AGE,DEPARTMENT^M^J \!│\~
 \!│\~ Jones,22,Sales,^M^J      \!│\~  \!│\~ Jones,22,Sales^M^J      \!│\~
 \!│\~ Smith,35,R&D,^M^J        \!│\~  \!│\~ Smith,35,R&D^M^J        \!│\~
 \!│\~ Wesson,28,Marketing,^M^J \!│\~  \!│\~ Wesson,28,Marketing^M^J \!│\~
 \!└──────────────────────────┘\~  \!└─────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Lotus file types
\!────────────────────────────────────────────────────────────\~

Select the type of spreadsheet to which you are exporting
data.

Depending upon the package and version you select, Alpha
Four will assign one of the following extensions to the
output filename:

File type                Extension    
\!──────────────────────\~   \!────────── \~  
1-2-3, version 1 or 1A   .WKS         
1-2-3, version 2         .WK1         
Symphony, version 1.01   .WRK         
Symphony, version 1.1    .WR1         
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Database Directory screen
\!────────────────────────────────────────────────────────────\~

Assign a name to the database in which the imported data
will be stored.

If you select an existing database, Alpha Four will erase
it, replacing it with the imported data.

To create a new database with the imported data, enter a
name. Alpha Four will automatically create the database and
store the imported data in it.

If you want to store the new database in a different
directory, include the drive/path specification with the
database name.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selecting saved import settings
\!────────────────────────────────────────────────────────────\~

Select the import settings to use either by highlighting the
appropriate setting and pressing Enter, or by typing the
corresponding letter.

Saved import settings store the responses on the Field
Adjust screen.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Skip file header
\!────────────────────────────────────────────────────────────\~

Select "Yes" if the file to be imported contains some type
of header that you want omitted from your database.

If you select "No", Alpha Four assumes that the file does
not contain a header.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Skip how many lines/characters
\!────────────────────────────────────────────────────────────\~

If you are importing a sequential file (one that contains a
carriage return/linefeed after each record) and you want to
skip the file header, enter the number of lines to skip.

If you are importing a random file (records do not end with
carriage return/linefeeds) and you want to skip the file
header, enter the number of characters to skip.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Description
\!────────────────────────────────────────────────────────────\~

Enter a description for the printer configuration (printer
driver) you are now defining. The description makes it
easier to identify the printer driver later.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Printer left margin
\!────────────────────────────────────────────────────────────\~

Enter the number of spaces that Alpha Four should leave
blank at the beginning of every line.

If your printer prints too close to the left edge of the
paper, you can define a left margin here to compensate.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Top of form delay
\!────────────────────────────────────────────────────────────\~

Enter the number of seconds that Alpha Four should pause
before issuing a formfeed at the end of each page.

For most printers, the top-of-form delay should be 0.

If you experience problems with your printer "timing out",
try using a delay (you may want to try several different
delays to see what works best).

It is unlikely that you would ever need a delay longer than
5 seconds.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Printer port
\!────────────────────────────────────────────────────────────\~

Select the port to which your printer is connected.

Alpha Four supports 3 parallel ports (LPT1, LPT2, and LPT3)
and 2 serial ports (COM1 and COM2).

If you only have 1 printer connected to your computer, and
it is a parallel printer (refer to your printer manual), it
is probably connected to LPT1.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Page advance by
\!────────────────────────────────────────────────────────────\~

Select the method that Alpha Four should use for advancing
to the top of each page. For most printers, "Formfeed" is
the correct choice.

If you are using a sheet feeder that requires a specialized
set-up, select "Sheetfeeder". If your sheetfeeder responds
to formfeeds, you can select "Formfeed".

If you are printing on non-standard sized paper such as
pre-printed forms (i.e., checks and invoice slips), select
"Linefeeds". For example, if you will be printing on 22-line
forms, select "Linefeeds" here and then enter "22" at the
"Lines per page" prompt that follows.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Lines per page
\!────────────────────────────────────────────────────────────\~

Specify the number of lines that fit on 1 page, so Alpha
Four will know how many lines to print before advancing to
the next page.

The default value is 66 lines. This is correct for 8½-by-11
inch paper, if you are printing 6 lines-per-inch. If you are
printing 8 lines-per-inch, the same paper holds 88 lines.

If you are using a laser printer that cannot print on the
top and bottom ½ inch of the page, the correct number of
lines per page is 60 (if you are printing 6 lines-per-inch),
or 80 (if you are printing 8 lines-per-inch).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Set-up codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer at the
beginning of each print job, to initialize the printer.

Typically, set-up codes are used for establishing the number
of lines-per-inch, defining page margins, switching laser
printers to landscape (sideways) mode, and so on.

The codes are available in your printer manual.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Close-out codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer at the end
of each print job, to restore the printer to its normal
settings.

The codes are available in your printer manual.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Normal codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer for using
"normal" typeface (i.e., no boldface and no italics).

Usually, the codes that enable normal type simultaneously
disable italics and boldface.

In Alpha Four, the default for all printing is normal type.
To re-set the type to normal after using another typeface,
include the "!N" or "!n" code in your report, form, mail
labels, or letter design.

The codes are available in your printer manual.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Bold codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer for using
boldface type.

Usually, the codes that enable boldface simultaneously
disable italics.

To use boldface, include the "!B" or "!b" code in your
report, form, mail labels, or letter design.

The codes are available in your printer manual.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Italic codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer for using
italic type.

Usually, the codes that enable italics simultaneously
disable boldface.

To use italics, include the "!I" or "!i" code in your
report, form, mail labels, or letter design.

The codes are available in your printer manual.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Underline on codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer for
underlining text.

To use underlines, include the "!U" or "!u" code in your
report, form, mail labels, or letter design.

The codes are available in your printer manual.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Underline off codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer for
disabling underlining.

To disable underlining in a document, include the "!O" or
"!o" code in your report, form, mail labels, or letter
design.

The codes are available in your printer manual.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Compressed on codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer for
printing in compressed mode (15-20 characters per inch).

This feature depends upon your printer's physical
capabilities.

The codes are available in your printer manual.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Compressed off codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer for
disabling compressed mode printing, and restoring
normal-spaced printing (10-12 characters per inch).

The codes are available in your printer manual.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Page 1 codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer so that
the first page in each print job is drawn from the first bin
of paper. Subsequent pages will be drawn from the second
bin.

This is used in cases where the first page is printed on
letterhead, and subsequent pages are printed on plain paper.

The codes are available in your printer manual.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































New page codes
\!────────────────────────────────────────────────────────────\~

Enter the decimal codes to be sent to the printer so that
the second and subsequent pages in a print job are drawn
from the second bin of paper. The default for this prompt is
12 (formfeed).

If your printer normally draws the second and subsequent
pages from the second bin, Alpha Four will do the same, even
if you omit this parameter. If your printer normally draws
all of the pages from the first bin, you must include this
parameter when you also want to use the second bin.

The codes are available in your printer manual.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Number of columns to edge of form
\!────────────────────────────────────────────────────────────\~

Use this parameter only when your sheet feeder requires you
to load paper in the center of the platen, instead of
aligned at the left edge.

Specify the number of spaces that Alpha Four must skip over
to reach the left edge of the paper.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Baud Rate
\!────────────────────────────────────────────────────────────\~

Select the appropriate baud rate for your printer (refer to
your printer manual).











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Parity
\!────────────────────────────────────────────────────────────\~

Select the parity required by your printer (refer to your
printer manual).











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Data Bits
\!────────────────────────────────────────────────────────────\~

Specify the number of data bits that your printer transmits
at a time (refer to your printer manual).











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Stop Bits
\!────────────────────────────────────────────────────────────\~

Specify the number of stop bits that your printer uses while
transmitting data (refer to your printer manual).











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*609







































































Create/Edit/Select/Erase a printer configuration file
\!────────────────────────────────────────────────────────────\~

Printer configurations (also known as "drivers") enable
Alpha Four to communicate with various printers.

You can create (install) up to 26 printer drivers, in
addition to the "Default" driver provided for printers
attached to LPT1. You can modify a printer driver at any
time. Alpha Four provides drivers for over 150 printers; you
can edit them as needed.

Selecting a printer driver makes it the "current" driver,
which Alpha Four uses as the default selection for printing.
If you erase a printer configuration, you cannot recover it;
however, you can always re-install it.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Defining a color scheme for Alpha Four
\!────────────────────────────────────────────────────────────\~
Choose the colors to be used in Alpha Four. On the left, the
screen displays a list of each section of an Alpha Four
screen that you can color. On the right, the screen displays
a template which blinks the screen section you are coloring.

To change the color of a section, highlight it and press
ENTER. Make your color selection, then press F10 (Continue)
to save the color setting for the current database. To save
the color setting for future use, press F3 (Saved Color
Settings) and select Save color setting.

To define the current color setting as the default for other
database and sets, press F3 (Saved Color Settings) and Save
current settings as default.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































































































































Available printer configurations
\!────────────────────────────────────────────────────────────\~

Select a printer configuration either by highlighting it and
pressing Enter or by typing the corresponding letter.

  \!┌─ \~Note \!───────────────────────────────────────────────┐\~
  \!│\~ This screen lists the printer configurations already \!│\~
  \!│\~ installed in Alpha Four. To see the complete list    \!│\~
  \!│\~ of \#printer configurations provided with Alpha Four\~,  \!│\~
  \!│\~ use the Create/edit printer configurations command.  \!│\~
  \!└──────────────────────────────────────────────────────┘\~




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[603, *833, 834]













































































Select which printer driver to erase
\!────────────────────────────────────────────────────────────\~

Select which printer configuration (driver) to erase either
by highlighting it and pressing Enter, or by typing the
corresponding letter.

        \!┌─ \~Warning \!──────────────────────────────┐\~
        \!│\~ Once you have erased a printer         \!│\~
        \!│\~ configuration, it cannot be recovered. \!│\~
        \!└────────────────────────────────────────┘\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selecting a printer driver (printer configuration)
\!────────────────────────────────────────────────────────────\~

When installing a driver
\!──────────────────────────\~
Alpha Four displays the list of pre-defined drivers. Select
one by highlighting it and pressing Enter. You can modify it
as necessary for use with Alpha Four, before saving it.

When using a driver
\!──────────────────────────\~
Alpha Four displays the list of installed drivers. Select
one either by highlighting it and pressing Enter, or by
typing the corresponding letter. You cannot use a driver
until it has been installed with the Create/edit a print
configuration command.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Posting transactions to a master database
\!────────────────────────────────────────────────────────────\~

Update (add to, subtract from, or replace) the values in a
record in the master database (the current database) with
values from a related record in the transaction database.

The master database is the current database; the transaction
database can be any other database.

The master database must be \#indexed\~ on the field or
expression that it has in common with the transaction
database. 



\!════════════════════════════════════════════════════════════\~
\#Using help\~                \#Help topics\~                \#Example\~
\[1027, *833, 834, 684]













































































Joining two databases
\!────────────────────────────────────────────────────────────\~

Match records in the current database with corresponding
records in a secondary database, creating a new database
that contains selected fields from both input databases.

The result database contains one record for each record in
the current database.

A join is conceptually similar to a \#set\~, except that the
join results in a new physical database, while the set is a
logical database.



\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~    \#Example\~    \#Subtract\~    \#Intersect\~
\[661, *833, 834, 685, 613, 614]













































































Subtracting one database from another
\!────────────────────────────────────────────────────────────\~

Match records in the current database with corresponding
records in a secondary database, creating a new database
that contains selected fields from both input databases.

The result database contains only those records from the
current database that have NO match in the secondary
database.

Subtracting databases is typically used to produce a list of
records that are contained in one database but are not
contained in the other.


\!════════════════════════════════════════════════════════════\~
\#Using help\~    \#Help topics\~     \#Example\~     \#Join\~    \#Intersect\~
\[*833, 834, 687, 612, 614]













































































Intersecting two databases
\!────────────────────────────────────────────────────────────\~

Match records in the current database with corresponding
records in a secondary database, creating a new database
that contains selected fields from both input databases.

The result database contains only those records from the
current database for which there is a matching record in the
secondary database.

Intersecting databases is typically used to produce a list
of records that are contained in both databases.



\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~     \#Example\~     \#Join\~     \#Subtract\~
\[*833, 834, 686, 612, 613]













































































Selecting which of the secondary database's indexes to use
\!────────────────────────────────────────────────────────────\~

Alpha Four displays the list of indexes attached to the
secondary database. Select the index that establishes the
relationship between the two databases (the index should be
based upon the common field or expression).

For example, if both databases have a customer Id field, you
would select the secondary index that is based upon that
field.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Specifying the common field or expression
\!────────────────────────────────────────────────────────────\~

The primary and secondary databases are related through the
secondary database's \#primary index\~. Enter the fieldname in
the primary database that corresponds to the fieldname used
in the index (the \#index key\~).

If the index is based upon an expression, enter the index
expression, using the fieldnames as they appear in the
primary database.

For example, if the secondary database is indexed on
TRIM(LASTNAME) + FIRSTNAME but the corresponding fields in
the primary database are called LAST and FIRST, enter:
"TRIM(LAST) + FIRST".
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, 363, *833, 834]













































































Do both databases use the same names for the common fields?
\!────────────────────────────────────────────────────────────\~

Select "Yes" if the secondary database's \#primary index\~ uses
only fieldnames that are common to BOTH databases.

For example, if the secondary database is indexed on
LASTNAME, select "Yes" if the last name field is also called
LASTNAME in the primary database. If that field has a
different name in the primary database (say, LAST), select
"No" and fill in the correct name at the Common Field
Expression screen, which appears next.

If the secondary database's primary index is based upon an
expression, select "Yes" only when ALL of the fields
referenced in the expression are common to both databases.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, *833, 834]













































































Selecting the secondary database
\!────────────────────────────────────────────────────────────\~

Select the secondary database to be used in the Join,
Intersect, or Subtract operation.

Select a database either by highlighting it and pressing
Enter, or by typing the name. If you type the database name,
you can include the drive/path specification if necessary.

To see the databases in another directory, press PgUp, and
select a drive and/or directory.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selecting the result database
\!────────────────────────────────────────────────────────────\~

Select the database to hold the results from the Join,
Subtract, or Intersect operation. Select a database either
by highlighting it and pressing Enter, or by typing the
name.

If you select an existing database, Alpha Four erases it and
replaces it with the results from the relational operation.
To create a new database for the results, type the name
(including an optional drive/path specification).

To see the databases in another directory, press PgUp, and
select a drive and/or directory.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Specifying the common field or expression
\!────────────────────────────────────────────────────────────\~

The master and transaction databases are related through the
master database's \#primary index\~. Enter the fieldname in the
transaction database that corresponds to the fieldname used
in the index.

If the index is based upon an expression, enter the index
expression, using the fieldnames as they appear in the
transaction database.

For example, if the master database is indexed on
TRIM(LASTNAME) + FIRSTNAME but the corresponding fields in
the transaction database are called LAST and FIRST, enter:
"TRIM(LAST) + FIRST".
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, *833, 834]













































































Selecting the post operation for each field
\!────────────────────────────────────────────────────────────\~

Select the field from the transaction database that will be
used to update each field in the master database.

Then select the operation that will be used to update the
master database's field with the transaction database's
field:

Operation   Effect
\!───────── \~  \!────────────────────────────────────────────────\~
Add         Add the transaction value to the master value
Subtract    Subtract the transaction value from the master
Replace     Replace the master with the transaction value
None        Do not change the master field's value
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Do both databases use the same names for the common fields?
\!────────────────────────────────────────────────────────────\~

Select "Yes" if the master database's \#primary index\~ uses
only fieldnames that are common to BOTH databases.

For example, if the master database is indexed on LASTNAME,
select "Yes" if the last name field is also called LASTNAME
in the transaction database. If that field has a different
name in the transaction database (say, LAST), select "No"
and fill in the correct name at the Common Field Expression
screen, which appears next.

If the master database's primary index is based upon an
expression, select "Yes" only when ALL of the fields
referenced in the expression are common to both databases.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, *833, 834]














































































































































































Selecting the transaction database 
\!────────────────────────────────────────────────────────────\~

Select the database to be used for updating the master
database. Select a database either by highlighting it and
pressing Enter, or by typing the name.

To see the databases in another directory, press PgUp, and
select a drive and/or directory.

If you type the database name, you can include the
drive/path specification if necessary.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Copying the current database
\!────────────────────────────────────────────────────────────\~

Copy records from the current database or set into another
database. You can choose whether to copy all fields, or only
a selected list of fields.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Appending a database to the current database
\!────────────────────────────────────────────────────────────\~
Append records from another database to the current database
(or to the primary database of the current set).

The second database does not need to have exactly the same
structure as the current database.

Depending on the append options that you select, records are
either physically added to the end of the current database,
or they replace existing records in the current database. As
the records are appended, Alpha Four updates all of the
current database's attached \#indexes\~.

Field rules defined for the current database are not applied
to the appended records.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, *833, 834]













































































Summarizing the current database
\!────────────────────────────────────────────────────────────\~

Summarize multiple, related records in the current database
or set into single summary records in the result database.
The summary database contains 1 record for each unique \#index
key\~ in the current database.

The summary records contain various types of summaries for
the fields in the current database, providing totals,
counts, averages, maximum values, and so on.

If you are summarizing a set, you can select fields from any
of the set's component databases. The summary database
contains 1 record for each unique \#primary index\~ key within
the set's index.
\!════════════════════════════════════════════════════════════\~
\#Using help\~                \#Help topics\~                \#Example\~

\[363, 973, *833, 834, 683]












































































Importing data
\!────────────────────────────────────────────────────────────\~

Import records from a variety of file formats into an Alpha
Four database. Alpha Four automatically creates a new
database using the data that you import.

     \!┌─ \~Note \!────────────────────────────────────────┐\~
     \!│\~ dBASE III, dBASE IV, and AlphaWorks all       \!│\~
     \!│\~ use the same file structure as Alpha Four.    \!│\~
     \!│\~ You can use data from any of these programs   \!│\~
     \!│\~ in Alpha Four WITHOUT converting the data.    \!│\~
     \!└───────────────────────────────────────────────┘\~

Refer to Chapter 20 for detailed instructions on importing
data into Alpha Four.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Exporting data
\!────────────────────────────────────────────────────────────\~

Export records from the current Alpha Four database or set
to a variety of popular file formats.

You can export all, or a sub-set of, the records in the
database or set. In addition, you can export all fields, or
only a selected list of fields.

  \!┌─ \~Note \!──────────────────────────────────────────────┐\~
  \!│\~ dBASE III, dBASE III Plus, dBASE IV, and AlphaWorks \!│\~
  \!│\~ all use the same file structure as Alpha Four. You  \!│\~
  \!│\~ can use your Alpha Four database with any of these  \!│\~
  \!│\~ packages WITHOUT converting the data.               \!│\~
  \!└─────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Packing the current database
\!────────────────────────────────────────────────────────────\~

Condense the current database by physically removing all
records that are marked as deleted.

Use the \#Options, Delete record\~ command to mark individual
records as deleted, or the \#Global Update/Delete, Delete
range of records\~ command to mark a group of records.

  \!┌─ \~Warning \!────────────────────────────────────────────┐\~
  \!│\~ Before packing a database, be sure to make a back-up \!│\~
  \!│\~ copy of it. This is an important precaution against  \!│\~
  \!│\~ losing data if the system or power fails. Consider   \!│\~
  \!│\~ \#copying the database's non-deleted records\~ instead.  \!│\~
  \!└──────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~        \#Help topics\~        \#Zap the entire database\~
\[48, 969, 638, *833, 834, 631]













































































Zapping the current database
\!────────────────────────────────────────────────────────────\~

In a single operation, mark every record in the database as
deleted, and then empty the database by physically removing
the deleted records.

This is similar to \#packing a database\~, except that the Zap
operation automatically marks all of the records for you.

If you intend to re-use the database structure, zapping the
records is more efficient than erasing and re-creating the
database. When you zap a database, the supporting files
(forms, search/sort lists, reports, etc.) remain intact (all
supporting files are erased when you erase the database).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[630, *833, 834]













































































Relational commands
\!────────────────────────────────────────────────────────────\~

- \#Post\~ transactions from one database to another, thus
  updating the master database

- \#Join\~ two databases on their common fields to create a
  third database with selected fields from both input
  databases.

- \#Subtract\~ two databases to create a third containing only
  the records that are unique to the first database

- \#Intersect\~ two databases to create a third containing only
  the records common to both databases.

\!════════════════════════════════════════════════════════════\~
\#Using help\~                 \#Help topics\~                  \#Sets\~
\[611, 612, 613, 614, *833, 834, 661]













































































Cross tabulate a database
\!───────────────────────────────────────────────────────────\~
Summarize the current database on two dimensions. 

The cross tabulated database contains 1 record for each
unique \#index key\~ in the current database and fields for the
index key and each unique value in the column field.

Be sure to select the appropriate primary index before
selecting the Cross Tabulate command.






\!════════════════════════════════════════════════════════════\~
   \#Using help\~         \#Help topics\~        \#Example\~
\[363, *833, 834, 693]













































































Copy which fields?
\!────────────────────────────────────────────────────────────\~

Select "All fields" to copy all of the fields in the current
database.

Select "Selected fields" to copy only the fields that you
will then select.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Mapping the secondary database to the current database
\!────────────────────────────────────────────────────────────\~

This screen allows you to map fields from the secondary
database to the current database, in case the two databases
do not have the same structure.

Use F5 (Delete) and F6 (Insert) to arrange the fields in the
second column until they are mapped correctly to the fields
in the first column (you can leave fields blank).

To insert a field, press F2 (Fieldnames) and select a field
from the list that appears.

When the databases are correctly mapped, press F10
(Continue).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Confirm the removal of each record?
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to manually confirm the removal of
each deleted record. This requires you to remain at the
screen while Alpha Four packs the database. If the database
is very large, packing may be a time-consuming operation.

If you select "No", Alpha Four will automatically remove
every record that is marked as deleted, without pausing for
confirmation.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Maintain indexes?
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want Alpha Four to automatically
re-build the attached indexes after the database has been
packed.

If you select "No", the indexes will be invalid, and Alpha
Four will delete them (you will have to re-create them).







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































An alternative to packing the database
\!────────────────────────────────────────────────────────────\~

Rather than pack a database and risk losing data through a
system or power failure, you can use the \#Copy Database
\~command to copy the records to a new database.

Define a range that specifies "Not deleted" as the \#Show
setting\~, so that only the non-deleted records are copied to
the new database.

Note that you must give the resulting database a different
name. Databases cannot share a name, and you cannot copy a
database to itself. However, once the copy is complete, you
can \#erase the original database\~ and \#re-name the new database
\~to the original name.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              

\[625, 359, 680, 681, *833, 834]












































































\*640





























































































Enter the fieldname or expression
\!────────────────────────────────────────────────────────────\~

Enter an expression for which you want the statistics
calculated.

You can use a fieldname as the expression; press F2
(Fieldnames) to select one from the list that Alpha Four
displays.

You can also use any valid \#expression\~, involving Alpha Four 
\#functions\~, any of the fields from the current database or
set and script variables.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, 889, *833, 834]













































































Select a summarization type
\!────────────────────────────────────────────────────────────\~

Compute the summary value for all records with the same
\#index key\~, storing the result in the summary database.

Operation   Result
\!─────────\~   \!────────────────────────────────────────────────\~
Count       A count of the records 
Biggest     The maximum value in the field
Smallest    The minimum value in the field
Null        The summary field remains empty
First       The first value in the field
Last        The last value in the field
Total       The total of the values in the field
Average     The average of the values in the field
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, *833, 834]













































































Create/edit a saved search/sort
\!────────────────────────────────────────────────────────────\~

Create or edit saved search/sort criteria, and immediately
run the search/sort. You can create up to 26 "saved
searches" per database or set. After you select an Id (from
A through Z) for the search/sort, define the search and/or
sort criteria in a \#table\~ or with an \#expression.\~

After you define the search/sort criteria, Alpha Four runs
the search/sort, storing the record numbers of those records
that satisfy the criteria in a "search/sort list".

When you change the database or the search/sort criteria,
the search/sort list is NOT updated, and will become out of
date. Rerun a saved search/sort to keep it up to date.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[650, 650, *833, 834]













































































Run a saved search/sort
\!────────────────────────────────────────────────────────────\~

Run an existing search/sort, which creates a new search/sort
list. If a search/sort list already exists, the new
search/sort list replaces it.

Alpha Four displays a list of saved searches and sorts.
Select a search/sort either by highlighting it and pressing
Enter, or by typing the corresponding letter.

The search/sort is run immediately, and you are returned to
the main menu. The new search/sort list automatically
becomes the \#primary index\~.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[973, *833, 834]













































































Create and run a one-time search/sort
\!────────────────────────────────────────────────────────────\~
Create "one-time" search and/or sort criteria, and
immediately run the search/sort. Alpha Four does not save
one-time search/sorts; if you intend to re-run the search or
sort, use a \#saved search/sort\~.

Alpha Four gives you the option of defining the search
and/or sort criteria in a \#table\~, or with an \#expression\~.
After you define the search/sort criteria, Alpha Four runs
the search/sort, storing the record numbers of those records
that satisfy the criteria in a "search/sort list".

When you update the database, the search/sort list is NOT
updated, and will become out of date. A one-time search/sort
can be rebuilt from the \#Search/sort History\~ screen.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[642, 650, 650, 658, *833, 834]













































































Erase a saved search/sort
\!────────────────────────────────────────────────────────────\~

Erase saved search/sort criteria. Erasing a search/sort does
NOT erase the corresponding search/sort list, if one exists.
To remove search/sort lists from disk, select F4 (Delete
search/sort) from the \#Search/sort History\~ screen.

           \!   ┌─ \~Warning\! ────────────────────────────┐
\~              \!│\~ Once a saved search/sort has been    \!│\~
              \!│\~ erased, it cannot be recovered.      \!│\~
       \!   \~    \!└──────────────────────────────────────┘
\~



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[658, *833, 834]













































































Enter the name of the field to be searched
\!────────────────────────────────────────────────────────────\~

Enter the name of the field to be searched (include the
database prefix when you are searching in one of a set's
child databases). For example, if you want to search the
AMOUNT_DUE field in the RECEIVBL database for values greater
than 250.00, enter RECEIVBL->AMOUNT_DUE as the fieldname.

                     Special Fieldnames
        \!───────────────────────────────────────────\~
        *CHAR   All character fields in each record
        *NUM    All numeric fields in each record
        *DATE   All Date fields in each record
        *LOGIC  All logical fields in each record
        *MEMO   All memo fields in each record
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Op.\~  \#Search for\~  \#And/Or\~   \#Example\~
\[*833, 834, 647, 648, 649, 1015]













































































Enter the search operator
\!────────────────────────────────────────────────────────────\~

Enter a search operator, which controls how the value in the
field being searched is compared with the search string. For
example, if you want to search the AMOUNT_DUE field for
values greater than 250.00, enter > as the operator.

                 Search Table Operators
 \!───────────────────────────────────────────────────────────\~
 =  Equal                  ?   Sounds like (phonetic search)
 >  Greater than           *A  Any occurrence in field
 <  Less than              *F  First occurrence in field
 <> Not equal              *L  Leading occurrence in field
 >= Greater than or equal  *W  Each word occurrence in field
 <= Less than or equal     
\!════════════════════════════════════════════════════════════\~
\#Using help\~  \#Help topics\~  \#Field\~  \#Search for\~  \#And/Or\~   \#Example\~
\[*833, 834, 646, 648, 649, 1015]













































































Search for what?
\!────────────────────────────────────────────────────────────\~

Enter the pattern, or string, for which you are searching.
This is known as the "search string".

For example, if you want to search the AMOUNT_DUE field for
values greater than 250.00, enter 250.00 as the search
string.

   \!┌─ \~Notes \!───────────────────────────────────────┐\~
   \!│\~ - No quotes are needed for character strings. \!│\~
   \!│\~ - The search is case-insensitive.             \!│\~
   \!└───────────────────────────────────────────────┘\~

For case-sensitive searches, use a \#search expression\~.
\!════════════════════════════════════════════════════════════\~
\#Using help\~    \#Help topics\~   \#Field\~   \#Op.\~   \#And/Or\~    \#Example\~
\[652, *833, 834, 646, 647, 649, 1015]













































































And/Or
\!────────────────────────────────────────────────────────────\~

If you want to use multiple search criteria, specify each
criterion on a row in the table. Combine the rows using
either AND (both rows must be True to satisfy the search) or
OR (as long as either is True, the search is satisfied).

    The criteria in the table below locate records for
    customers in Massachusetts who owe more than 250.00:
  \!┌──────────────────────────────────────────────────────┐\~
  \!│\~ Field                 Op.  Search for What?   And/Or \!│\~
  \!│\~ \!────────────────────────────────────────────────────\~ \!│\~
  \!│\~ RECEIVBL->STATE       =    MA                 AND    \!│\~
  \!│\~ RECEIVBL->AMOUNT_DUE  >    250.00                    \!│\~
  \!└──────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Field\~   \#Op.\~  \#Search for\~   \#Example\~
\[*833, 834, 646, 647, 648, 1015]













































































Search/Sort Creation screen
\!────────────────────────────────────────────────────────────\~

Table
\!──────────────────────────\~
Define the search/sort criteria in a table by filling in the
appropriate entries in each column of a table.

Expression
\!──────────────────────────\~
Define the search/sort criteria as an \#expression\~. A search
expression evaluates to True or False. For each record, the
expression is evaluated and if the expression is True, the
record is selected. A sort expression indicates the field or
combination of fields used to determine the sort order.
Use F9 to switch between Table and Expression modes.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Search/sort description
\!────────────────────────────────────────────────────────────\~

Enter a description of your saved search/sort. This
description will make it easier to identify the search/sort
later and will appear in the \#search/sort history\~ list.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[658, *833, 834]













































































Search expression
\!────────────────────────────────────────────────────────────\~

Enter a logical \#expression\~ (i.e., one that evaluates to True
or False). For example, to search for customers from
Massachusetts who owe more than 250.00, use the expression:

        TRIM(STATE)="MA" .AND. AMOUNT_DUE > 250.00
        \!──────────────────────────────────────────\~
 \!┌─ \~Notes \!─────────────────────────────────────────────────┐\~
 \!│\~ - Enclose character search strings in quotes.           \!│\~
 \!│\~ - Enclose the logical operator (AND/OR/NOT) in periods. \!│\~
 \!│\~ - The search is case-sensitive by default.              \!│\~
 \!│\~ - Use TRIM() to make the search insensitive to the      \!│\~
 \!│\~   field's defined length.                               \!│\~
 \!└─────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Examples\~   \#Functions\~   \#Operators\~

\[914, *833, 834, 1016, 889, 909]












































































Enter the name of the field(s) on which to sort
\!────────────────────────────────────────────────────────────\~

Enter the fieldname(s) on which the sort is to be based. For
example, if you are sorting by last name, enter LASTNAME.

If you are sorting on multiple levels, enter the fields in
order of importance. The table below orders records first by
LASTNAME, and within duplicate last names, by FIRSTNAME:

       \!  \~ \! ┌─────────────────────────────────────┐\~
           \!│\~ Level     Field           Direction \!│\~
           \!│\~ \!───────────────────────────────────\~ \!│\~
           \!│\~   1       LASTNAME            A     \!│\~
           \!│\~   2       FIRSTNAME           A     \!│\~
           \!└─────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~               \#Direction\~
\[*833, 834, 654]













































































Enter the direction in which to order records
\!────────────────────────────────────────────────────────────\~

Alpha Four can sort the records in ascending (small to
large) or descending (large to small) order. Enter "A" for
ascending and "D" for descending.

The order is only important when you want to create a
mixed-order sort. For example, you might order an employee
database in ascending order by department, and within each
department, in descending order by salary.





\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~                   \#Field\~
\[*833, 834, 653]













































































Search/sort options: Case-Sensitive
\!────────────────────────────────────────────────────────────\~

\!Case-Sensitive:\~
\!───────────────\~
Select Yes at this prompt to create a case sensitive sort. 
Case sensitive sorts treat uppercase letters as
alphabetically smaller than lowercase letters.








\!════════════════════════════════════════════════════════════\~
                \#Using help\~        \#Help topics\~               
\[*833, 834]













































































Search/sort options: Show
\!────────────────────────────────────────────────────────────\~

\!Show:\~
\!─────\~
The Show prompt is used to include or exclude deleted
records from the search/sort list. Select Deleted to include
only those records that have been marked as deleted. Select
Not-Deleted to include only records that have NOT been
marked for deletion.






\!════════════════════════════════════════════════════════════\~
                \#Using help\~        \#Help topics\~               
\[*833, 834]













































































Search/sort options: Filter Expression
\!────────────────────────────────────────────────────────────\~

Filter Expression:
\!──────────────────\~
This prompt appears when a filtered index has been used to
build the search/sort list.  This is the filter expression
from the index.








\!════════════════════════════════════════════════════════════\~
                \#Using help\~        \#Help topics\~               
\[*833, 834]













































































Search/sort history
\!────────────────────────────────────────────────────────────\~

Choose from the 10 most recently run search/sort lists. 
Highlight and select a search/sort list to make it the
primary (active) index. 

To see a more detailed history of search/sort lists, select
F8 (Detail On).  The detail screen shows the search and sort
criteria, the filter expression (if specified in the range)
and the range settings for each search/sort as it is
highlighted.

If a list (one-time or saved) is out of date, Alpha Four
will place an out of date marker next to the list.  Use F5
(Refresh search/sort) to update the list.
\!════════════════════════════════════════════════════════════\~
              \#Using help\~              \#Help topics\~           
\[*833, 834]













































































Enter the sort order expression
\!────────────────────────────────────────────────────────────\~

Enter (or edit) the \#expression\~ on which the sort will be
based. If you originally defined the sort in Table mode,
Alpha Four displays the expression derived from your Sort
Table. For example, if your Sort Table contained:
       \!  \~ \! ┌─────────────────────────────────────┐\~
           \!│\~ Level     Field           Direction \!│\~
           \!│\~ \!───────────────────────────────────\~ \!│\~
           \!│\~   1       LASTNAME            A     \!│\~
           \!│\~   2       FIRSTNAME           A     \!│\~
           \!└─────────────────────────────────────┘\~
the corresponding sort expression is: LASTNAME + FIRSTNAME. 

A sort order expression is similar to an index expression.
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Functions\~   \#Operators\~   \#Examples\~


\[914, *833, 834, 889, 909, 1025]











































































Options for saving the search/sort
\!────────────────────────────────────────────────────────────\~

Save and run search/sort:
   Saves the search/sort criteria under its assigned letter
   id and then runs the search/sort.
save As and run search:
   Saves the search/sort under a new id, and then runs it.
   Choose an id from a list of unused letter id's. 
save and Continue editing:
   Saves the search/sort criteria and returns to edit mode
   without running the search/sort.
save and Exit:
   Saves the search/sort criteria without running the
   search/sort.

\!════════════════════════════════════════════════════════════\~
            \#Using help\~               \#Help topics\~            

\[*833, 834]












































































Creating a set design
\!────────────────────────────────────────────────────────────\~
Build a set by "linking" together up to 10 databases. With
the exception of the \#primary database\~, each database must be
\#indexed\~ on the field (or expression) that it has in common
with the parent database to which it will be linked.

Once the set is defined, you can view data from all of the
set's component databases at once. Additionally, create
\#scrollable regions\~ to view and edit data from databases
linked with a one-to-many link. Use a set like you use a
single database, creating forms, browse tables, reports,
mailing labels, and form letters.

If you want to access related databases during data entry,
you can use a \#lookup\~ instead of creating a set.
\!════════════════════════════════════════════════════════════\~
    \#Next page\~         \#Using help\~          \#Help topics\~       
\[667, 1027, 325, 394, *688, 833, 834]













































































Modifying a set design
\!────────────────────────────────────────────────────────────\~

Modify an existing set design, adding, deleting, and
re-arranging links within the set.

Before you can add another database to the set, the new
database must be \#indexed\~ on the field (or expression) that
it has in common with the parent database to which it will
be linked. A set can contain at most 10 databases.

When you remove a link from the set, all of the lower-level
links (and all of the databases hanging off of them) will
also be removed from the set.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, *833, 834]













































































Link parameters
\!────────────────────────────────────────────────────────────\~

Customize the links at any level within the set, specifying:

- Whether the \#parent\~ record should be retrieved if there is
  (or is not) a matching \#child\~ record

- Whether child records should be retrieved if they are (or
  are not) marked as deleted

- A \#filter expression\~ defining special criteria used to
  decide which child records to retrieve

- Which form and browse table to use when you \#zoom\~ to the
  child database.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              

\[1018, 1018, 352, 57, *833, 834]












































































Using the Set Editor screen
\!────────────────────────────────────────────────────────────\~

In this screen, you can visually build a set by adding links
to the \#set diagram\~. The "primary database" that you
specified in the \#Set Parameters screen\~ appears at the top of
the set diagram. A set can contain up to 10 databases. Sets
can also contain sub-sets.

Use the following keys to build your set:

Press F6 (Add Link) to add a database to the set; press F5
(Detach Link) to remove a database from the set.

Press F9 (Switch windows) to move to the lower window and
describe how the new database should be linked into the set.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[688, 689, *833, 834]s













































































Adding a database to the set
\!────────────────────────────────────────────────────────────\~

When you press F6 (Add Link), the label "New Database"
appears in the set diagram.

Use Up and Down to position the label where you want to link
in the next database, and press Enter.

In the lower window, fill in the parameters that describe
how this new database should be linked to its parent.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Set description
\!────────────────────────────────────────────────────────────\~

The set description helps identify the set's purpose. When
you use the Choose database/set command, pressing F8 (Detail
on) displays the set description, making it easier to decide
which set to select.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































The primary database
\!────────────────────────────────────────────────────────────\~

The primary database controls the ordering of records within
the set, and how they are retrieved. The set below lists all
library members and the books that each has on loan.

                               \!┌─────────────────────┐\~
      In this set, BORROWER    \!│\~    BORROWER         \!│\~
      is the primary database: \!│\~     ╘═════ BOOKS    \!│\~
                               \!└─────────────────────┘\~

                             \!┌────────────────────────┐\~
      In this set, BOOKS is  \!│\~    BOOKS               \!│\~
      the primary database:  \!│\~     ╘═════ BORROWER    \!│\~
                             \!└────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Show mode
\!────────────────────────────────────────────────────────────\~

Specify which records should be retrieved from the primary
database, based upon the deletion status:

- All: Retrieve all of the records in the primary database,
  regardless of the deletion status

- Deleted: Retrieve only those records from the primary
  database that are marked as \#deleted\~

- Not deleted: Retrieve only those records from the primary
  database that are NOT marked as deleted.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[48, *833, 834]













































































Referential Integrity
\!────────────────────────────────────────────────────────────\~

When you select "All" at the "Link to" prompt, you create a
one-to-many link.  Alpha Four displays Referential Integrity
options that let you specify how the link is managed.

Yes
\!──────────────────────────\~
Select Yes to use referential integrity.  When you create a
new child record using a region on a form, Alpha Four
automatically fills the common fields with the corresponding
values from the common fields in the current parent record.

Use F7 (Integrity Rule) to define the \#field mapping\~ that
indicates which common field(s) should fill automatically.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[526, *833, 834]













































































Cascading Updates
\!────────────────────────────────────────────────────────────\~

When you select "All" at the Link to prompt and "Yes" at the
Referential Integrity prompt, Alpha Four displays the
Cascading Updates prompt.

Cascading updates prevent child database records from
becoming orphaned (no longer matched with a parent record)
when changes are made to certain parent record values.





\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[671, *833, 834]













































































Cascading Updates
\!────────────────────────────────────────────────────────────\~
Yes
\!──────────────────────────\~
Select Yes to turn on cascading updates.  When you change a
value(s) in a common field(s) in the parent database, Alpha
Four mirrors the change in the common field(s) of all
matching records in the child database.

Prompt
\!──────────────────────────\~
Select Prompt to specify that Alpha Four prompt you before
cascading updates to matching child database records.

Typically, do not turn on Cascading updates for a link to a
lookup database in which values should change infrequently.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Cascading Deletes
\!────────────────────────────────────────────────────────────\~

When you select "All" at the Link to prompt and "Yes" at the
Referential Integrity prompt, Alpha Four displays the
Cascading Deletes prompt.

Cascading deletes ensure that child database records that
are meaningless when not associated with a parent record are
deleted when the parent record is deleted.





\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[673, *833, 834]













































































Cascading Deletes
\!────────────────────────────────────────────────────────────\~
Yes
\!──────────────────────────\~
Select Yes to turn on cascading deletes.  When you delete a
record in the parent database, Alpha Four automatically
marks all matching records in the child database as deleted.

Prompt
\!──────────────────────────\~
Select Prompt to specify that Alpha Four prompt you before
deleting the matching child records.

Typically, do not turn on Cascading deletes for a link to a
lookup database in which non-matching records should remain
intact.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter a filter expression
\!────────────────────────────────────────────────────────────\~

The filter is an \#expression\~ that evaluates to True or False.
Filters allow you to specify criteria for determining which
records from the \#primary database\~ should be included in the
set.

For example, the filter INV_HEAD->CUST_ID="C1001" specifies
that Alpha Four should retrieve only the invoice records for
customer C1001.

Press F2 (Fields) to display the available databases, and
then the available fields for the selected database. Press
F3 (Functions) to see the available functions. Press F6
(Window on) to display the full filter expression window.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, 667, *833, 834]













































































Select the filter mode
\!────────────────────────────────────────────────────────────\~

The filter mode controls whether Alpha Four uses or ignores
the filter expression defined above. Select "Active" if you
want the filter to be used in determining which records
should be retrieved from the set's primary database.

Select "Inactive" if you want to disable the filter
expression without actually deleting it from the Set
Parameters screen. When a filter is inactive, Alpha Four
ignores it, and uses only the remaining set parameters to
determine which records to retrieve.

You can re-activate an inactive filter at any time, simply
by re-setting the filter mode to "Active".
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Set commands
\!────────────────────────────────────────────────────────────\~

Create and modify set designs, and customize how Alpha Four
retrieves records from each database within the set.

A set allows you to retrieve records from up to 10 linked
databases.

You can modify a set design by adding, removing, and
re-arranging links.

You can control how Alpha Four retrieves records at each
link within the set, by defining "link parameters".


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating a new database
\!────────────────────────────────────────────────────────────\~

Create a new database structure.

A database is a table of information. Each row in the table
contains a record, which holds various pieces of information
(fields). Each column in the table contains all of the
values for a particular field.

            LASTNAME   FIRSTNAME      COMPANY
              Field      Field         Field
           \!┌─────────────────────────────────────┐\~
 Record #1 \!│\~ Smith     James      Smith & Wesson \!│\~
 Record #2 \!│\~ Ross      Harvey     Anheuser Busch \!│\~
           \!└─────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating field rules
\!────────────────────────────────────────────────────────────\~

Define field rules for the current database or set. Field
rules allow you specify the type of data that can be entered
into each field, and how that data is stored in Alpha Four.

            Using field rules, you can control:       
\!────────────────────────────────────────────────────────────\~
- Whether a field is required - Auto incremented value
- Range of valid values       - Expression to validate entry
- Automatic case conversion   - Double-entry enforcement
- Templates to force patterns - Auto-skipped fields
- Mask to restrict data type  - Help messages (for line 24)
- Default value               - Lookup table/database
- User-entered vs Calculated value
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Reconfiguring a database
\!────────────────────────────────────────────────────────────\~

Modify the structure of an existing database.

You can change fieldnames, field types, and field lengths.
You can add, delete, and re-order fields.

Choose between reconfiguring the current database, or
reconfiguring to a new database, which leaves the original
database intact.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing a database or set
\!────────────────────────────────────────────────────────────\~

Erase an existing database or set design. When you erase a
database, both the database's structure and all of its
records are deleted, as well as its supporting files (forms,
saved search/sorts, ranges, reports, etc.).

When you erase a set design, only the structure of the set
is deleted (plus its supporting files). The set's component
databases remain intact.

       \!   ┌─ \~Warning\! ────────────────────────────┐
\~          \!│\~ Once a database or a set design has  \!│\~
          \!│\~ been erased, it cannot be recovered. \!│\~
   \!   \~    \!└──────────────────────────────────────┘
════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Changing a database or set's name or description
\!────────────────────────────────────────────────────────────\~

Change the name or description of the current database or
set.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Duplicating a database or set design
\!────────────────────────────────────────────────────────────\~

Make a copy of the current database or set structure.

When you duplicate a set, you duplicate only the set
structure, not the structure of its component databases.

  \!   ┌─ \~Note\! ──────────────────────────────────────────┐
\~     \!│\~ Duplicating a database or set copies only the   \!│\~
     \!│\~ structure, not the records. To copy the records \!│\~
     \!│\~ in a database, use the Utilities, Copy database \!│\~
     \!│\~ command. To copy the records in a set, you must \!│\~
     \!│\~ copy the individual databases.                  \!│\~
\! \~    \!└─────────────────────────────────────────────────┘
\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Example: Summarizing a database
\!────────────────────────────────────────────────────────────\~

     Current database              Summary database     
\!┌───────────────────────────┐\~ \!┌───────────────────────────┐\~
\!│\~COMPANY       UNITS   TOTAL\!│\~ \!│\~COMPANY       UNITS   TOTAL\!│\~
\!│───────────────────────────│\~ \!│───────────────────────────│\~ 
\!│\~Alpha Corp.    23     57.50\!│\~ \!│\~Alpha Corp.    83    207.50\!│\~
\!│\~Alpha Corp.    21     52.50\!│\~ \!│\~Beta Hardware  68    170.00\!│\~
\!│\~Alpha Corp.    39     97.50\!│\~ \!│\~Delta, Inc.    49    122.50\!│\~
\!│\~Beta Hardware  56    140.00\!│\~ \!└───────────────────────────┘\~
\!│\~Beta Hardware  12     30.00\!│\~
\!│\~Delta, Inc.     6     15.00\!│\~
\!│\~Delta, Inc.    25     62.50\!│\~
\!│\~Delta, Inc.    18     45.00\!│\~
\!└───────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Post example: adding monthly sales to a master database
\!────────────────────────────────────────────────────────────\~
    Transaction     \!┌────────────────────────────┐\~
     database       \!│\~ID   COMPANY       YTD_SALES\!│\~ Master
  \!┌────────────┐\~    \!│────────────────────────────│\~ database
  \!│\~ID     SALES\!│\~    \!│\~101  Alpha Corp.     234.43 \!│\~ BEFORE
  \!│────────────│\~    \!│\~102  Beta Hardware   121.01 \!│\~ posting
  \!│\~101    23.40\!│\~    \!│\~103  Delta, Inc.     100.99 \!│\~ 
  \!│\~102   121.21\!│\~    \!└────────────────────────────┘\~
  \!│\~103    11.21\!│\~    \!┌────────────────────────────┐\~
  \!│\~101    98.77\!│\~    \!│\~ID   COMPANY       YTD_SALES\!│\~ Master
  \!│\~101    34.56\!│\~    \!│────────────────────────────│\~ database
  \!│\~103    77.77\!│\~    \!│\~101  Alpha Corp.     391.16 \!│\~ AFTER
  \!│\~103    21.12\!│\~    \!│\~102  Beta Hardware   254.35 \!│\~ posting
  \!│\~102    12.13\!│\~    \!│\~103  Delta, Inc.     211.09 \!│\~
  \!└────────────┘\~    \!└────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Example: Joining two databases
\!────────────────────────────────────────────────────────────\~
   Current database          Secondary database     
 \!┌──────────────────┐\~ \!┌───────────────────────────────┐\~
 \!│\~ID   INV_NO  TOTAL\!│\~ \!│\~ID    COMPANY         CITY     \!│\~
 \!│──────────────────│\~ \!│───────────────────────────────│\~
 \!│\~101   2301   57.50\!│\~ \!│\~102   Beta Hardware   Cambridge\!│\~
 \!│\~102   3990   97.50\!│\~ \!│\~103   Delta, Inc.     Woburn   \!│\~
 \!└──────────────────┘\~ \!└───────────────────────────────┘\~
                     Result database                 
     \!┌──────────────────────────────────────────────┐\~
     \!│\~ID   COMPANY         CITY       INV_NO   TOTAL\!│\~ 
     \!│──────────────────────────────────────────────│\~ 
     \!│\~101                              2301    57.50\!│\~ 
     \!│\~102  Beta Hardware   Cambridge   3990    97.50\!│\~
     \!└──────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Example: Intersecting two databases
\!────────────────────────────────────────────────────────────\~

   Current database          Secondary database     
 \!┌──────────────────┐\~ \!┌───────────────────────────────┐\~
 \!│\~ID   INV_NO  TOTAL\!│\~ \!│\~ID    COMPANY         CITY     \!│\~
 \!│──────────────────│\~ \!│───────────────────────────────│\~
 \!│\~101   2301   57.50\!│\~ \!│\~102   Beta Hardware   Cambridge\!│\~
 \!│\~102   3990   97.50\!│\~ \!│\~103   Delta, Inc.     Woburn   \!│\~
 \!└──────────────────┘\~ \!└───────────────────────────────┘\~
                     Result database                 
    \!┌──────────────────────────────────────────────┐\~
    \!│\~ID   COMPANY         CITY       INV_NO   TOTAL\!│\~ 
    \!│──────────────────────────────────────────────│\~ 
    \!│\~102  Beta Hardware   Cambridge   3990    97.50\!│\~
    \!└──────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Example: Subtract secondary database from current database
\!────────────────────────────────────────────────────────────\~

   Current database          Secondary database     
 \!┌──────────────────┐\~ \!┌───────────────────────────────┐\~
 \!│\~ID   INV_NO  TOTAL\!│\~ \!│\~ID    COMPANY         CITY     \!│\~
 \!│──────────────────│\~ \!│───────────────────────────────│\~
 \!│\~101   2301   57.50\!│\~ \!│\~102   Beta Hardware   Cambridge\!│\~
 \!│\~102   3990   97.50\!│\~ \!│\~103   Delta, Inc.     Woburn   \!│\~
 \!└──────────────────┘\~ \!└───────────────────────────────┘\~
                     Result database                 
     \!┌──────────────────────────────────────────────┐\~
     \!│\~ID   COMPANY         CITY       INV_NO   TOTAL\!│\~ 
     \!│──────────────────────────────────────────────│\~ 
     \!│\~101                              2301    57.50\!│\~ 
     \!└──────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































The set diagram
\!────────────────────────────────────────────────────────────\~

A set is represented by a "set diagram", which visually
indicates how the component databases are linked together:
              \!┌────────────────────────────┐\~
              \!│\~    INV_HEAD                \!│\~
              \!│\~     ├───── CUSTOMER        \!│\~
              \!│\~     ╘═════ LINEITEM        \!│\~
              \!│\~            └───── PARTS    \!│\~
              \!└────────────────────────────┘\~
If there are multiple child records for each parent database
record (i.e., if there is a one-to-many link), the set
diagram indicates it with a double line (as in the link from
INV_HEAD to LINEITEM).  Note that one one-to-many link is
permitted at any level in a set.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































The Set Parameters screen
\!────────────────────────────────────────────────────────────\~

The set parameters let you store a description for the set,
as well as specify:

- The set's \#primary database\~

- The \#Show mode\~ for the primary database (determines whether
  all, deleted, or not-deleted records are retrieved from
  the primary database)

- A \#filter\~ expression for the primary database (allows you
  to define special criteria for retrieving records from the
  primary database.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              

\[667, 668, 674, *833, 834]












































































Marking unmatched records as deleted
\!────────────────────────────────────────────────────────────\~

If you select "Yes" here, Alpha Four will \#mark as deleted
\~all of the transaction records for which there is no match
in the master (current) database.

This is useful for flagging those records that could not be
used while updating the master database, as it may help
locate incorrect transaction records.

If you select "No", Alpha Four will post as many transaction
records as possible, ignoring those for which the master
database contains no match.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[48, *833, 834]













































































Selecting the secondary index
\!────────────────────────────────────────────────────────────\~

Select the \#index\~ that will be used to establish the
relationship between the current and the secondary
databases. The index should be based upon the field or
expression that the two databases have in common.

For example, if both databases contain an invoice number
field, select the secondary index that is based upon the
invoice number.

If both databases contain first name and last name fields,
you could select the secondary index based upon an
expression involving both fields, such as TRIM(LASTNAME) +
FIRSTNAME (even if the databases use different fieldnames).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, *833, 834]













































































Enter a filter expression
\!────────────────────────────────────────────────────────────\~

Enter a filter expression which must evaluate to TRUE for
each record in the external database that will be copied. If
you do not need a filter (i.e., all records should be
appended) press F10 (Continue).









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, *833, 834]













































































Example of cross tabulation
\!────────────────────────────────────────────────────────────\~
   SALES DATABASE                   
┌───────────────────────┐
│Employee  Product  Qty │   CROSS-TABULATED DATABASE        
│═══════════════════════│                                   
│Jaon      radio     3  │ ┌────────────────────────────┐    
│Joan      vcr       2  │ │ Employee  radio  vcr   tv  │   
│Joan      vcr       4  │ │════════════════════════════│   
│Bob       vcr       1  │ │    Bob     4      1     0  │   
│Bob       radio     2  │ │    Fran    0      2     5  │   
│Bob       rdaio     2  │ │    Joan    3      6     0  │   
│Fran      tv        3  │ │                            │    
│Fran      tv        2  │ └────────────────────────────┘   
│Fran      vcr       2  │                                  
└───────────────────────┘
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Printing reports
\!────────────────────────────────────────────────────────────\~

Print a report that was previously created for the current
database or set.

If your report uses one or more \#levels of grouping\~, be sure
to select the appropriate \#primary index\~ when the \#Range
Settings\~ box appears. Otherwise, the report will not group
records as you intended.






\!════════════════════════════════════════════════════════════\~
\#Using help\~           \#Help topics\~            \#Creating reports\~
\[182, 973, 345, *833, 834, 164]













































































Printing mail labels
\!────────────────────────────────────────────────────────────\~

Print mail labels defined for the current database or set.

If you choose to send the labels directly to a printer, the
\#Align Labels screen\~ will appear. The Align Labels screen
lets you print a test pattern the size and shape of your
label design, so you can align the labels properly in the
printer.

If you find that your label dimensions are incorrect, you
can edit the label design and \#modify the dimensions\~ before
printing the labels. Use the Layouts, Mail Labels command to
edit the label design.

\!════════════════════════════════════════════════════════════\~
\#Using help\~            \#Help topics\~            \#Creating labels\~
\[704, 207, *833, 834, 204]













































































Printing forms
\!────────────────────────────────────────────────────────────\~

Print a form that was previously created for the current
database or set.

Alpha Four will print the forms using the parameters
(records per page, headings, etc.) defined in the \#Form
Parameters screen\~. To change the parameters, you must modify
the Form Parameters screen (accessed via the Layouts, Forms
command.





\!════════════════════════════════════════════════════════════\~
\#Using help\~            \#Help topics\~             \#Creating forms\~
\[242, *833, 834, 233]













































































Printing browse tables
\!────────────────────────────────────────────────────────────\~

Print a browse table defined for the current database or
set.

Alpha Four will print the full width of your browse table,
using the parameters specified in the \#Browse Table
Parameters Screen\~. If the paper is not wide enough, you will
lose the information past the paper's right margin (the
table will not wrap).

To see the full browse table, you can print it to a file
(which is stored on disk), and then print that file using
software that prints "sideways" (i.e., landscape mode).

\!════════════════════════════════════════════════════════════\~
\#Using help\~        \#Help topics\~         \#Creating browse tables\~
\[91, *833, 834, 333]













































































Printing form letters
\!────────────────────────────────────────────────────────────\~
Print a form letter that was previously created for the
current database or set.

If your letters use any prompted fields, Alpha Four will
pause at the appropriate point in each letter and prompt for
input. Enter the necessary information and press Enter.
Alpha Four will continue printing the letters. 

If you have made any syntax or logic errors in your letter
design, Alpha Four will encounter the error when it prints
the letters, and will abort printing. You must correct the
error before you can print the letters. Edit the letter with
the Layouts, Letters command.

\!════════════════════════════════════════════════════════════\~
\#Using help\~           \#Help topics\~            \#Creating letters\~
\[*833, 834, 267]













































































Using the Printer Setup screen
\!────────────────────────────────────────────────────────────\~

Printer
\!──────────────────────────────\~
Press F9 (Change Printer) to select a \#printer driver\~.
"Default" represents Alpha Four's default driver, which is
appropriate for parallel printers (using LPT1) with
documents that do not require any special fonts.

Use single sheets
\!──────────────────────────────\~
Select "Yes" if your printer uses manual feed for single- 
sheet paper, which requires Alpha Four to pause after each
page so you can insert the next sheet. (Omitted for "File").
\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[25, *708, 833, 834]













































































\*702































































































Selecting a print destination
\!────────────────────────────────────────────────────────────\~

Select where you want the output from your report, form,
browse table, labels, or letters routed:

- Screen: Display the output directly on the screen

- Printer: Print the output on your printer (you can select
  the printer in a later step)

- File: Store the output in a ready-to-print file, which you
  can print from DOS at any time (in a later step, you can
  select the printer driver to be used in creating this
  file).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the End-of-session screen 
\!────────────────────────────────────────────────────────────\~

This screen indicates that your output has finished
printing.

Press F2 (Formfeed printer) to eject the paper in the
printer.

Press F3 (Linefeed printer) to advance the paper in the
printer by one line.

Press F10 (Continue) to return to the Alpha Four main menu.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the Align Labels screen
\!────────────────────────────────────────────────────────────\~

Before printing your labels, you can optionally print a test
pattern to help align the labels in the printer.

Select "Yes" to print the test pattern, which prints two
rows of test labels, the size and shape of your labels, and
then re-displays the Align Labels screen.

When you are ready to begin printing the actual labels,
select "No". Alpha Four will immediately begin printing the
labels.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*603































































































Using the Output Drive/Filename screen
\!────────────────────────────────────────────────────────────\~

Specify a name for the file in which your output will be
stored. 

If you enter a new name, use the DOS file naming
conventions: up to eight characters, including letters,
numbers, hyphens (-), and underscores (_). If you omit the
file extension, Alpha Four uses ".LST".

You can select an existing file (which will be overwritten)
by highlighting the filename and pressing Enter. Press PgUp
to display the list of drives. Select a file in another
directory by selecting the appropriate drive, then the
directory, and then the filename.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select which form letter to print
\!────────────────────────────────────────────────────────────\~

Select the form letter that you want to print by
highlighting it and pressing Enter.

Use PgUp to display the parent directory and the list of
drives. Selecting another drive or directory lets you
display the list of form letters stored in that location.

If you wish, you can type the form letter file's name,
including an optional drive/path specification, as in
"C:\ALPHA4V2\SAMPLE\BILLING". If the file extension is
".LTR", you can omit it, as shown in this example.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the Printer Setup screen (continued)
\!────────────────────────────────────────────────────────────\~

Use compressed print
\!──────────────────────────────\~
Select "Yes" to print in compressed mode (15-20 characters
per inch). This feature depends upon your printer's physical
capabilities (check your printer manual).

Line Feed/Form Feed Printer
\!──────────────────────────────\~
Press F2 (Line Feed Printer) to issue a line feed on the
printer, or F3 (Form Feed Printer) to issue a form feed on
the printer, so you can align the paper. (Omitted for the
"File" option).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Empty expression
\!────────────────────────────────────────────────────────────\~

You cannot continue with an empty expression. Either
complete the expression, or use Esc to back up and cancel
this operation.










\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Expression is too complex
\!────────────────────────────────────────────────────────────\~

Alpha Four cannot evaluate this expression because it is too
complex. Try to break it into pieces, so it can be evaluated
in stages.

For example, calculated fields can reference other
calculated fields. If a calculated field's expression is too
complex, you can divide it among several additional
calculated fields, which can then be referenced in the final
expression.




\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Missing or invalid operand
\!────────────────────────────────────────────────────────────\~

Your expression is either missing an operand, or uses an
invalid operand. An operand is a field, a function, or a
value that is used in an expression. For example, in the
expression: 

                     12 * SQRT(9) + AGE
                     \!──────────────────\~

12 (a value), SQRT(9) (a function), and AGE (a field) are
all operands. (The "*" and "+" are called "operators").
Functions also use operands (called "arguments"). For
example, in the function SQRT(9), 9 is the operand.
\#More...\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*727, 833, 834, 889, 914, 909]













































































Unbalanced parentheses
\!────────────────────────────────────────────────────────────\~

An expression must always use an equal number of opening "("
and closing parentheses ")".

Check your expression, the numbers of opening and closing
parentheses do not match.








\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































































































































Field number out of range
\!────────────────────────────────────────────────────────────\~

This is an internal error, indicating that Alpha Four
encountered a problem during the last operation. This error
generally occurs when there is something wrong with the
structure of the current database or set.









\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































\*712































































































Numeric overflow
\!────────────────────────────────────────────────────────────\~

This is an internal error, indicating that Alpha Four
encountered a problem while processing the data.

A frequent cause is the use of vary large numbers with
addition, multiplication, and exponentiation. Keep in mind
that in Alpha Four, a number can be at most 19 characters
long, including the negative sign, the decimal point, and
any decimal places. The number can contain up to 14 places
to the right of the decimal point.

For example, 1234567890123456789**12 would cause a numeric
overflow, because the resulting value would not fit in the
19 places allotted.
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Invalid number
\!────────────────────────────────────────────────────────────\~

A number used in the expression is invalid.

Remember that a number can be at most 19 places long,
including the negative sign, the decimal point, and any
decimal places. The number can contain up to 14 decimal
places.

For example, the number 1.23456789012345678 is only 19
places long, but contains 17 digits to the right of the
decimal, and therefore is invalid.



\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































\*712































































































Operand type mis-match
\!────────────────────────────────────────────────────────────\~
An operand is a field, a function, or a value that is used
in an expression. For example, in the expression: 

                     12 * SQRT(9) + AGE
                     \!──────────────────\~
12 (a value), SQRT(9) (a function), and AGE (a field) are
all operands (the "*" and "+" are called "operators").
Functions also use operands (called "arguments"). For
example, in the function SQRT(9), 9 is the operand.

The operands in an expression must all be the same data type
(i.e., all Date, Character, Numeric etc.). Use functions if
necessary to convert an operand from one type to another.
\#More...\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*731, 833, 834, 889, 914, 909]













































































Extra operands or arguments
\!────────────────────────────────────────────────────────────\~
The expression has too many operands (or arguments), and
cannot be evaluated.

Examples
\!──────────────────────────────\~
- SQRT(4,9) has an extra argument (it can only take the
  square root of 1 number at a time).

- The conditional expression: IF(SHIP_DATE < DATE(), 6,7,3)
  has an extra argument (conditionals only use 3 arguments).

- The expression 6 * 9 + 7 - 5 4 has an extra operand (the
  "4"). Either insert an operator between the "5" and the
  "4" or remove the "4" from the expression.
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































\*721































































































Nesting too deep
\!────────────────────────────────────────────────────────────\~

The expression uses too many levels of nested parentheses
(parentheses inside other parentheses). Try removing a set
of parentheses that are not necessary. You may have to
simplify the expression, or divide it into smaller pieces.

Keeping in mind the order in which the operators in an
expression are evaluated may help you to decide which
parentheses to remove:

           1.    ()     Parentheses
           2.    **     Exponentiation
           3.  * or /   Multiplication/Division
           4.  + or -   Addition/Subtraction
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Invalid operator or operand
\!────────────────────────────────────────────────────────────\~
The expression cannot be evaluated because either the
operator (+, *, -, /, etc.) or the operand (the field,
function, or value being affected) is incorrect.

Examples
\!──────────────────────────────\~
- The expression: "Mary, Mary" * "quite contrary" contains
  an invalid operator (* does not operate on Character
strings).

- The expression, 12 + QTY_PURCHASED contains an invalid
  operand (a field name cannot be longer than 10
  characters).
\#Related errors...\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*712, 833, 834, 889, 914, 909]













































































Memory full
\!────────────────────────────────────────────────────────────\~

Your computer does not have enough memory left to complete
the current operation.

If you have other programs loaded into memory, you could try
exiting Alpha Four, removing the programs from memory (which
may require you to re-boot the computer), and then
re-starting Alpha Four.






\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Referenced calculated or summary field is invalid
\!────────────────────────────────────────────────────────────\~

The calculated field or summary field being referenced in
this expression is invalid.

Make sure the referenced field has not been changed or
deleted since the expression was created. If this is the
case, you will have to re-define either the expression or
the referenced field.






\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Examples of missing operands
\!────────────────────────────────────────────────────────────\~
- This expression needs another operand after the "+":

                  UNIT_PRICE * QUANTITY +
                  \!───────────────────────\~
- This expression needs an operand inside the parentheses
  belonging to the SQRT function:

                      12 + 8 - SQRT()
                      \!───────────────\~
- This conditional expression needs another operand, which
  will be used when the expression evaluates to False:

        IF (SHIP_DATE < INV_DATE, "Error in shipping date",)
\#More...\~ \!────────────────────────────────────────────────────\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*728, 833, 834, 889, 914, 909]













































































Examples of invalid operands
\!────────────────────────────────────────────────────────────\~
- This expression attempts to compare a date value (stored
  in HIRE_DATE) with the character string "01/01/1983":

  IF (HIRE_DATE < "01/01/1983",20,10)
  \!───────────────────────────────────────────────────────\~
- You must either convert the date to a character string
  with DTOC(HIRE_DATE), or convert "01/01/1983" to a date
  value using either CTOD("01/01/1983") or {01/01/1983}:

  IF (DTOC(HIRE_DATE)<"01/01/1983",20,10)
  \!─────────────────────────────────────────────────────────\~
  IF (HIRE_DATE < {01/01/1983},20,10)
  \!─────────────────────────────────────────────────────────\~
\#More...\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*729, 833, 834, 889, 914, 909]













































































Examples of invalid operands
\!────────────────────────────────────────────────────────────\~
- An operand is also invalid when its data type conflicts
  with the type required by a function. For example, this
  expression uses a character string with a mathematical
  function, which requires a number:

                       SQRT("Alpha")
                       \!─────────────\~
- The expression below uses the correct "type" of operand,
  but in the wrong format. The CTOD() function requires a
  character string ordered by month, day, and then year.
  This operand uses the day before the month. Since 18 is
  not a valid month value, this operand is invalid:

\#More...\~               CTOD("18/12/89")
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*730, 833, 834, 889, 914, 909]













































































In summary:
\!────────────────────────────────────────────────────────────\~

- Make sure you are using the correct number of operands

- Make sure all of the operands are of the correct data
  type, or use an appropriate type-conversion function

- Make sure the operands are formatted correctly (for
  example, dates should use the month first, then the day
  and year).

   \!┌─ \~Note \!────────────────────────────────────────────┐\~
   \!│\~ Functions and expressions are discussed in detail \!│\~
   \!│\~ in Chapter 23 of the Alpha Four Reference manual. \!│\~
   \!└───────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Example of an operand type mis-match
\!────────────────────────────────────────────────────────────\~
- This expression attempts to compare a date value (stored
  in HIRE_DATE) with the character string "01/01/1983":

  IF (HIRE_DATE < "01/01/1983",20,10)
  \!───────────────────────────────────────────────────────\~
- You must either convert the date to a character string
  with DTOC(HIRE_DATE):

  IF (DTOC(HIRE_DATE)<"01/01/1983",20,10)
  \!─────────────────────────────────────────────────────────\~
- Or convert "01/01/1983" to a date value using either
  CTOD("01/01/1983") or {01/01/1983}:

  IF (HIRE_DATE < {01/01/1983},20,10)
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~  \#Functions\~  \#Expressions\~   \#Operators\~
\[*833, 834, 889, 914, 909]













































































Illegal database/set name OR database/set not found
\!────────────────────────────────────────────────────────────\~

The specified database/set name is either an invalid
filename, or cannot be found. Check the spelling, and make
sure you are specifying the correct drive and path.

Database and set names must follow DOS file naming
conventions: up to 8 characters long, including letters,
numbers, hyphens (-), and underscores (_).

The correct file extension for a database is ".DBT"; the
correct extension for a set is ".SET".



\!════════════════════════════════════════════════════════════\~
\#Using help\~        \#Help topics\~       \#Drive/path specification\~
\[*833, 834, 734]













































































\*732






























































































Invalid drive/path specification
\!────────────────────────────────────────────────────────────\~

The specified drive and/or path is invalid (this can also
mean that the drive or path does not exist).

Check the spelling, keeping in mind that drives are
represented with a single letter and a colon (i.e., "A:").

Directory names must follow the DOS file naming conventions
(up to 8 characters, including letters, numbers, hyphens
(-), and underscores (_). Directories and sub-directories
are delimited with a "\", as in "C:\ALPHA4V2\DATA\*.DBF".



\!════════════════════════════════════════════════════════════\~
              \#Using help\~         \#Help topics\~
\[*833, 834]















































































































































































Enter or select a database/set name
\!────────────────────────────────────────────────────────────\~

Type a new name for the database/set and press Enter, or
select an existing name from the list.

If you type the name, you can use up to 8 characters,
including letters, numbers, hyphens (-), and underscores
(_). You can optionally include a drive/path specification
with the name.

To select an existing name, use Up and Down to highlight the
appropriate name, and then press Enter. Alpha Four will
erase the existing database/set, and use that name for your
new database/set. Press PgUp to select another drive or
directory, and display the databases/sets stored there.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select a database or set
\!────────────────────────────────────────────────────────────\~

Select or type a database/set name.

If you type the name, you can include an optional drive/path
specification (in case the database/set is stored in a
different directory).

To select a name, use Up and Down to highlight the
appropriate name, and then press Enter. Press PgUp to select
another drive or directory, and display the databases/sets
stored there.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*737






























































































Exporting a file
\!────────────────────────────────────────────────────────────\~

Alpha Four lists the existing files that use the selected
format. Select or type a name for the file you are currently
exporting. If you type the name, you can include an optional
drive/path specification (to stored the file in a different
directory). Alpha Four adds the appropriate filename
extension automatically.

To select an existing filename, use Up and Down to highlight
it and press Enter. Press PgUp to select another drive or
directory, and display list of the files stored there.

If you select an existing filename, Alpha Four will erase
that file, using its name for the new file.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*736






























































































Importing a file
\!────────────────────────────────────────────────────────────\~

Alpha Four lists the files with the default extension. To
select an existing filename, use Up and Down to highlight it
and press Enter. Press PgUp to select another drive or
directory, and display list of the files stored there.

If the file you want to import uses a different extension,
display files with that extension by entering a partial
filename, using wildcards. For example, enter "*.WKS" to
display files with the .WKS extension.

If you type the file's name, you can include an optional
drive/path specification (to import a file stored in a
different directory).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*741






























































































\*741






























































































\*741






























































































\*741






























































































\*741






























































































\*741






























































































\*741






























































































\!────────────────────────────────────────────────────────────\~

Select this option to import from a WordPerfect 5.1
secondary merge file.  

Enter the name of the WordPerfect 5.1 secondary merge file
to be imported. Alpha Four assumes a .MRG extension for the
merge file.

If the file has more that 128 fields, Alpha Four will only
import the first 128 fields in each record, with a maximum
of 254 characters per field.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~               
\[*833, 834]














































































\*737





























































































































































































\*736






























































































\*736






























































































\*737






























































































Form Letter Selection
\!────────────────────────────────────────────────────────────\~

Enter a new name for the modified form letter, and press
Enter. Form letter names can use up to 8 characters,
including letters, numbers, hyphens (-), and underscores
(_).

You can include a drive/path specification with the name if
you want to store the form letter in a different directory.

To select an existing name, use Up and Down to highlight the
name, and press Enter. Alpha Four will erase the selected
form letter, using that name for the letter you are saving
now. Press PgUp and select another drive or directory to see
the list of form letters stored in that location.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Form Letter File Selection
\!────────────────────────────────────────────────────────────\~

Creating a letter
\!──────────────────────────────\~
If you are creating a new letter, enter the name now
(including an optional drive/path specification).

Modifying a letter
\!──────────────────────────────\~
Select the form letter to modify by highlighting it and
pressing Enter.

If the form letter is not stored in the current data
directory, you can type the correct drive, path, and
filename (as in C:\ALPHA4V2\FINANCE\PROPOSAL.LTR).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erase Form Letter screen
\!────────────────────────────────────────────────────────────\~

Select the form letter to erase by highlighting it and
pressing Enter. Press PgUp and select another drive or
directory to see the list of form letters stored in that
location.

You can type the name yourself, including an optional
drive/path specification.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*736






























































































Enter a new name for the database or set
\!────────────────────────────────────────────────────────────\~

Type a new name for the database/set and press Enter.

A database or set name can contain up to 8 characters,
including letters, numbers, hyphens (-), and underscores
(_). You can optionally include a drive/path specification
with the name.

The Database Directory displays the existing databases and
sets, to help you see which names have already been used.
You cannot select an existing name.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*737






























































































\*737






























































































Enter a name for the new set
\!────────────────────────────────────────────────────────────\~

Type the set's name and press Enter.

A set name can contain up to 8 characters, including
letters, numbers, hyphens (-), and underscores (_). You can
optionally include a drive/path specification with the name.

The Set Directory displays the existing databases and sets,
to help you see which names have already been used. You
cannot select an existing database or set name.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*783































































































\*783































































































\*783































































































\*783































































































Select the linking index
\!────────────────────────────────────────────────────────────\~

Select the \#linking index\~ for the \#child\~ (newly attached)
database. The linking index must be based upon the field or
expression that the child has in common with its parent (the
\#common field or expression\~).

For example, if both the parent and the child databases
contain a CUST_ID field, you should select the index that is
also based upon CUST_ID (the common field).

If both the parent and the newly attached database contain
LASTNAME and FIRSTNAME fields, you should select the index
that is based upon the expression: TRIM(LASTNAME)+FIRSTNAME
(the common expression).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1002, 1018, 1004, *833, 834]













































































Indexes
\!────────────────────────────────────────────────────────────\~
\#Linking index\~
\!──────────────────────────\~
Select the index based upon the field that the lookup
database has in common with the current database. For
example, if ZIPCODE is the common field, use the lookup
database's ZIPCODE index. This speeds up the manner in which
Alpha Four retrieves records from the lookup database.

\#Display index\~
\!──────────────────────────\~
Select the index that you want Alpha Four to use for
ordering records in the lookup window. For example, although
the lookup databases's records may be accessed in ZIPCODE
order, you might prefer to display them by COMPANY.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[418, 419, *833, 834]













































































Incomplete calculated field
\!────────────────────────────────────────────────────────────\~

The calculated field cannot be saved as is. Make sure both
the fieldname and the expression are correctly filled in.

Fieldnames can be up to 10 characters long, must start with
a letter, and may include letters, numbers, and underscores
(_).

The \#expression\~ can contain up to 254 characters, and may
include any fields from the current database or set, as well
as the SYSTEM, CALCULATED, and SUMMARY database. Expressions
can also contain script variables. You may use any Alpha
Four \#functions\~ and \#operators\~.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, 889, 909, *833, 834]













































































Escaping loses your latest changes
\!────────────────────────────────────────────────────────────\~

If you use Esc to exit, you will lose all of the changes you
just made.

If this is acceptable, highlight "Yes" and press Enter.
Alpha Four will return you to the main menu.

If you do not want to lose your changes, highlight "No" and
press Enter. Then exit to the main menu F10.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Reconfiguring a database
\!────────────────────────────────────────────────────────────\~

When you decrease a field's length, or change a field's
type, you will probably lose some (or all) of the data in
that field.

For example, if you shorten a 30-character COMPANY name
field to 20 characters, the company names will all be
truncated to 20 characters. Everything past the 20th letter
will be lost.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Inherit support files?
\!────────────────────────────────────────────────────────────\~

Support files are the files that you create for use with a
database or set, such as forms, reports, ranges, saved
search/sorts, and so on.

Select "Yes" if you want to copy the current database's
support files to the new database.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Saving a file without fields
\!────────────────────────────────────────────────────────────\~

The file you are trying to save does not contain any fields.
Do you really want to save it?

Select "Yes" if you want to save the file, even though it
contains no fields (for example, if you intend to add the
fields later).

Select "No" if you do not want to save the file.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Delete invalid records?
\!────────────────────────────────────────────────────────────\~

As the field rules are re-evaluated, Alpha Four can
optionally mark as deleted all records that violate mask,
required field, or validation rules.

If you select "Yes", Alpha Four will update the records
where possible, marking as deleted those records containing
fields that violate the rules.

If you select "No", Alpha Four will update the records where
possible, ignoring those records containing fields that
violate the rules.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Are you sure you want to erase the file?
\!────────────────────────────────────────────────────────────\~

Once you erase the file, it cannot be retrieved.

Select "Yes" if you still want to erase the file. Alpha Four
will erase it and then return you to the main menu.

Select "No" if you do not want to erase the file, after all.
Alpha Four will give you a chance to select another file to
erase.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Detaching a link
\!────────────────────────────────────────────────────────────\~

If you detach (delete) this link from the set, its child
database, and all of the databases attached to the child,
will be deleted.

Select "Yes" if you still want to delete this link. Alpha
Four will remove the both the link, and all of the databases
attached to it, from the set design.

Select "No" if you do not want to delete this link after
all.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selected file will be overwritten
\!────────────────────────────────────────────────────────────\~

If you use the selected file, its original contents will be
lost.

If this is acceptable, highlight "Yes" and press Enter.
Alpha Four will erase the selected file, using its name for
the new file. If you do not want to lose the file, highlight
"No" and press Enter.

       \!┌─ \~Note\! ───────────────────────────────────────┐\~
       \!│\~ If you selected an existing database or set, \!│\~
       \!│\~ the associated supporting files (reports,    \!│\~
       \!│\~ searches, ranges, etc.) will also be erased. \!│\~
       \!└──────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Incomplete summary field
\!────────────────────────────────────────────────────────────\~

The summary field cannot be saved as is. Make sure all of
the columns are correctly filled in.

The summary field's name can be up to 10 characters long,
must start with a letter, and may include letters, numbers,
and underscores (_).

The field to be summarized can be from the current database,
any of the current set's component databases, the SYSTEM
database, or the CALCULATED database.

The \#summary type\~, \#summary level\~, \#ignore mode\~, and \#process
mode\~ all provide lists of valid options.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[288, 289, 290, 291, *833, 834]













































































Filter Expression
\!────────────────────────────────────────────────────────────\~

Optionally, enter a filter expression to indicate which
records Alpha Four should display in the region.

For example, the filter expression:

  PART_NO>="P200".AND.PART_NO<="P400"

will allow the region to include only records whose PART_NO
field contains values between "P200" and "P400" inclusive.
(Use quotation marks around character strings).

You can include a filter expression using any combination of
fields in the database and script variables.
\!════════════════════════════════════════════════════════════\~
\#Understanding expressions\~       \#Using help\~       \#Help topics\~
\[914, *833, 834]














































































































































































Invalid summary field(s)
\!────────────────────────────────────────────────────────────\~

Some of the summary fields are still invalid. If you exit
now, they will be deleted.

If this is acceptable, select "Yes". Alpha Four will delete
the invalid summary fields from the Summary Fields screen.

If you do not want to lose the summary fields, select "No".
You must correct the settings for each field before you can
safely exit.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Forming color expressions
\!────────────────────────────────────────────────────────────\~

The color expression must evaluate to a valid "color value".
The color value is a decimal code representing the field's
foreground (text) and background colors. The color value
also controls whether the field blinks or appears in
boldface.

For example, the expression: IF(SHIPDATE < DATE(),519,7)
can be read as "If the shipping date is earlier than today's
date, display the field as white text on a blinking red
background. Otherwise display the field as white text on a
black background". This is useful for calling attention to
invoices that have not been shipped on time.

\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~     \#Color values\~      \#Expressions\~
\[*833, 834, 788, 914]













































































Field Selection screen (multiple files)
\!────────────────────────────────────────────────────────────\~
Each column on this screen represents a database. If there
are more databases available than fit on the screen, an
arrow appears under the last database name, pointing in the
direction of the additional databases. Use Tab (Shift Right)
and Shift-Tab (Shift Left) to see the other databases.

To select a field, highlight it and press Enter, or type the
field's name. To de-select it, simply select it a second
time.

The right-most column lists the selected fields, in the
order in which you selected them. Use F4 (Reorder) to
re-arrange this list, ordering the fields as you want them
to appear.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Database description
\!────────────────────────────────────────────────────────────\~

Enter a brief description of the database, to help identify
the database. You might want to describe the purpose of the
database, or perhaps some of the fields included in it.

For example, if the database will contain information for a
mailing list, you might describe it as "Corporate mailing
list, with both company names and sales contacts".

When you use the Choose database/set command, pressing F8
(Detail on) displays the database's description, making it
easier to select a database.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*772






























































































Color Option
\!────────────────────────────────────────────────────────────\~
If you are using a color monitor highlight the desired color
combintaion from the pop-up Color Selection box and press
ENTER. When you press Enter, Alpha Four closes the pop-up
box. 

If you are using a monochrome monitor select a foreground
(text) color, a background color, and a display option.
Select each option simply by highlighting it; Alpha Four
marks your selection with an arrow. Press Enter when you are
done. 

If you are defining a color expression in Form or Browse
Layout, Alpha Four enters the appropriate color value in the
color expression.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Restricted files
\!────────────────────────────────────────────────────────────\~

This file has been restricted, so you cannot edit its
layout. However, you can still print or display data with
the file.

Since you cannot edit this restricted file, you should
design your own layout, the way you want it to appear.

To remove the restriction from the file, use the
Applications, \#Prevent/allow alterations\~ command.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[816, *833, 834]













































































Calculating color values
\!────────────────────────────────────────────────────────────\~

A color value is a decimal code that controls the field's
foreground (text) and background colors, as well as its bold
and blink attributes. The color value is determined by:

     ((Background + Blink) * 16) + (Foreground + Bold)
     \!─────────────────────────────────────────────────\~

For example, to calculate the color value for white text on
a blinking red background, use:

              ((4 + 8) * 16) + (7 + 0) = 519
              \!──────────────────────────────\~

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Re-ordering fields
\!────────────────────────────────────────────────────────────\~

The fields on this screen will be used in the order in which
you selected them. To re-order the selected fields,
highlight the field you want to move, and Enter.

Then use Up and Down to move the field to its new position,
and press Enter again. Alpha Four re-orders the remaining
fields accordingly.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Application description
\!────────────────────────────────────────────────────────────\~

Enter a brief description of your application. A good idea
is to describe the application's purpose, and perhaps the
database or set that it uses.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select the startup database/set
\!────────────────────────────────────────────────────────────\~

If you want the application to automatically select a
particular database or set every time it is started, enter
the database or set name here. You can include a drive/path
specification if necessary.

Press F2 (Databases) to see the list of databases and sets.

If you do not want to automatically select a start-up
database or set, simply leave this parameter blank.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the startup macro
\!────────────────────────────────────────────────────────────\~

If you want the application to automatically execute a
particular series of actions every time it is started, enter
the appropriate keystrokes here.

Press F2 (Special keys) to see the list of pre-defined
keystrokes.

Press F3 (Learn macro) to \#record the keystrokes\~ as you enter
them, rather than type them in manually.

The startup macro can invoke a script with the {PLAY}
command. E.g. {PLAY "SCRIPT1"}

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[824, *833, 834]













































































Should the Escape key exit from the application's main menu?
\!────────────────────────────────────────────────────────────\~

If you want the application's users to be able to press Esc
at the application's main menu to return to the Alpha Four
main menu, select "Yes".

If you want to prevent them from exiting the application in
this manner, select "No". Be sure, however, to include a
"Quit Application" menu choice in your application so that
users can exit from the application.

If you want to allow escape only for certain people, select
"Password". Then enter the password at the "Escape password"
prompt that appears next.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the password that will control the Escape key
\!────────────────────────────────────────────────────────────\~

Enter the password to be used for escaping from the
application's main menu to the Alpha Four main menu.

When the application's user presses Esc at the application's
main menu, he or she will be prompted for the password.

The password can be up to 10 characters, using any printable
character on the keyboard, and is case insensitive (i.e.,
"ESCAPE" and "escape" are treated as the same word).




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the Application Editor screen
\!────────────────────────────────────────────────────────────\~

Build the application by outlining its menu structure. Then,
for each menu item, specify an action. Use F2 (Menu Items)
to \#insert, delete, and move choices\~ in your menu structure.

Use F7 (Goto) to switch to the \#Application Parameters
\~screen.

Use F8 (Simulate) to \#simulate an application\~ without exiting
the Application Editor screen.

Use F9 (Switch windows) to enter the screen's lower window
and specify parameters (title, action, etc.) for menu items.

\!════════════════════════════════════════════════════════════\~
     \#Using help\~         \#Help topics\~       \#Shortcut keys\~ 
\[828, 831, 826, *833, 834, 861]













































































Enter the title of the new menu item
\!────────────────────────────────────────────────────────────\~

Enter the title of the newly inserted menu item.

As in Alpha Four's menus, the first capital letter of each
menu item is a "hot key". When the application is run, the
hot key appears in boldface. Pressing the hot key is
equivalent to highlighting the associated menu item and
pressing Enter to select it.

If 2 or more choices in a menu use the same hot key, only
the first will be activated. You may have noticed that many
choices in Alpha Four's own menus capitalize a letter other
than the first letter in the choice, to avoid duplicating
the hot key.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter a message to appear on line 24
\!────────────────────────────────────────────────────────────\~

Enter a help message for the current menu item. When the
application is run and the user highlights the current menu
item, the help message will appear on line 24, just as in
Alpha Four's menus.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select the action for this menu item
\!────────────────────────────────────────────────────────────\~

Select the action to be executed when the application's user
selects the current menu item:

- Sub-Menu: Display a sub-menu containing additional items

- Macro: Play back (execute) a series of stored keystrokes
  or a script

- Call-App: Transfer to another application, returning to
  this application when the target application ends

- Goto-App: Transfer to another application, but do not
  return to this one when the target application ends.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the macro keystrokes
\!────────────────────────────────────────────────────────────\~

Enter the keystrokes representing the actions to be played
back (executed) when the current menu item is selected.

Press F2 (Special keys) to see the list of pre-defined macro
keys.

Press F3 (Learn macro) to \#record the keystrokes\~ as you
execute them, and store them at the "Macro keys' prompt".

If you want the macro to invoke a script, use the {PLAY}
command. E.g. {PLAY "SCRIPT1"}.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[824, *833, 834]













































































































































































Specify the called/jumped-to application
\!────────────────────────────────────────────────────────────\~

Enter the name of the application to be run, including the
drive/path specification if necessary. Press F2
(Applications) to see the list of applications.

Call-App
\!──────────────────────────\~
When the user exits the "call" application, he or she will
be returned to this application's main menu.

Goto-App
\!──────────────────────────\~
When the user exits from the "goto" application, he or she
will be returned to the Alpha Four main menu.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































































































































Enter an optional password to restrict this menu item
\!────────────────────────────────────────────────────────────\~

You can password-protect individual menu items, restricting
them to a limited set of users.

Enter the password needed to access the current menu item.
When the application's user selects this choice, he or she
will be prompted for the password. Only users who enter the
correct password can execute the current menu item.

The password can be up to 10 characters, using any printable
characters on the keyboard, and is case insensitive (i.e.,
"CHOICE" is treated the same as "choice").


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the name of the external help file for this menu item
\!────────────────────────────────────────────────────────────\~

In addition to creating a help message for display on line
24, you can optionally create a help file for the current
menu item. The help file is displayed in a pop-up box when
the user presses F1 (Help), just as in Alpha Four.

Enter the name of the help file, including the drive/path
specification if necessary. Each menu item must have a
separate help file.

The help file must be an ASCII file (most word processors
can output ASCII files); each line must end with a carriage
return/linefeed combination. To ensure that the file is
displayed correctly, make each line 60 characters or less.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter a title for the menu
\!────────────────────────────────────────────────────────────\~

Enter the title for the current menu, with the spelling and
spacing exactly as you want it to appear on the menu.

Alpha Four's menus use double-spaced letters in their
titles, as in "A p p l i c a t i o n s". To use this in your
own menus, double-space the lettering yourself as you enter
the title.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select the type of spacing to be used within the menu
\!────────────────────────────────────────────────────────────\~

Select "Single" if you want the menu items single-spaced
(with no blank lines between them).

Select "Double" if you want blank lines between the items.

Wherever possible, Alpha Four's own menus are double-spaced.
If your menu has too many items to fit on the screen if they
are double-spaced, select single-spaced.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Select the column style for displaying the menu
\!────────────────────────────────────────────────────────────\~

- Select "Single" if you want your menus to display choices
in one column, centered on the screen.
- Select "Double" if you want your menus to use 2 columns
for displaying the choices.

- Select "Left" if you want a one column menu, left
justified on the screen.
- Select "Right" if you want a one column menu, right
justified on the screen.

Alpha Four generally uses a single, centered column (except
for its main menu).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Display the status box at the top of the menu?
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want your application's main menu to
display a status window, as does the Alpha Four main menu.

The status window displays the name of the current database
or set, the number of records in the current database (or in
the set's primary database), and the name of the primary
index.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Display a banner when the application starts?
\!───────────────────────────────────────────────────────────\~

Select "Yes" if you to display a banner screen when an
application starts. The banner screen allows you to display
information like the application name, author etc.

If you select "Yes", the F6 (Paint banner) key is enabled.
Press this key to display the banner design screen.

Type any text that you want on the banner screen, then press
F10 (Save) to save and exit from the banner design screen.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Menu behavior
\!───────────────────────────────────────────────────────────\~
What menu item should the application return to when the 
macro for this menu item has finished executing?

- Select "Return" if you want the application to return to
the application's main menu

- Select "Stay" if you want the application to return to the
current menu and place the menu bar on the current menu
item.

- Select "Advance" if you want the application to return to
the current menu and place the menu bar on the selection
following the current menu item.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Allow alterations by user?
\!────────────────────────────────────────────────────────────\~

Select "Allowed" if you want the application's users to be
able to edit the highlighted file. Select "Not allowed" to
protect the highlighted file from being modified.

Although users can still print and display information using
these files, they cannot edit the actual file design. For
example, a user can print a protected report, but cannot
modify the report's layout.

        \!┌─ \~Note\! ───────────────────────────────────┐\~
        \!│\~ Be sure to select the appropriate data-  \!│\~
        \!│\~ base or set before protecting any files! \!│\~
        \!└──────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Running an application
\!────────────────────────────────────────────────────────────\~

Run an existing application.

While the application is running, press Esc to back up one
menu level at a time, just as in the Alpha Four menus.

To start an application from the Alpha Four command line,
include the -A= parameter followed by the application's
name. E.g.,  A4 -A=INVOICES 

If the application is not stored in the same directory as
Alpha Four, include the drive/path specification with the
application name, as in:
A4 -A=D:\ALPHA4V2\DATA\INVOICES 
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating and editing an application
\!────────────────────────────────────────────────────────────\~
Applications are useful for automating routine tasks,
customizing menus, and restricting users to a limited
command set.

Alpha Four allows you to design your own menu structure, and
to record macros and scripts that execute specific
functions.

Provided with the software is a sample application, called
ALPHA4.APP, that duplicates the complete Alpha Four menu
structure. To create applications that closely resemble
Alpha Four's own menu structure, edit ALPHA4.APP, make your
changes, and then use the "Save as" option to save the
modified application under a new name.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing an application
\!────────────────────────────────────────────────────────────\~

Erase an existing application.

          \!   ┌─ \~Warning\! ───────────────────────┐
\~             \!│\~ Once an application has been    \!│\~
             \!│\~ erased, it cannot be recovered. \!│\~
      \!   \~    \!└─────────────────────────────────┘
\~






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Preventing (or allowing) file alterations
\!────────────────────────────────────────────────────────────\~
When you design an application to be used with a particular
database or set, you may want to ensure that reports, forms,
mailing labels, etc. are not modified or deleted.

You can protect specific files by dis-allowing alterations.
For example, you can protect a report to ensure that the
application's users do not tamper with the actual report
design. Of course, they can still print the report.

Note: Individual files can also be password protected to
prevent unauthorized alterations.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selecting the type of file to protect/unprotect
\!────────────────────────────────────────────────────────────\~

You can allow/dis-allow alterations to any reports, labels,
forms, browses, range, or saved search/sorts defined for the
current database or set.

Although users can still print and display information using
these files, they cannot edit the actual file design. For
example, if you prevent alterations to a report layout, the
user can still print the report, but cannot modify its
design.
        \!┌─ \~Note\! ───────────────────────────────────┐\~
        \!│\~ Be sure to select the appropriate data-  \!│\~
        \!│\~ base or set before protecting any files! \!│\~
        \!└──────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*817































































































\*817































































































\*817































































































\*817































































































\*817































































































\*817































































































Recording a macro
\!────────────────────────────────────────────────────────────\~

1-At the "Macro keys" or "Startup Macro" prompt, press 
  F3 (Learn macro). The Alpha Four main menu appears.

2-Press F3 (Begin macro learn) when you are ready to begin
  recording keystrokes.

3-Execute the keystrokes EXACTLY as you want them executed
  when the macro is played back.

4-Press Alt-F3 (End macro learn) to stop recording. The
  Application Editor screen appears, with the recorded
  keystrokes filled in at the "Macro keys" prompt.
\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*825, 833, 834]













































































Recording a macro (continued)
\!────────────────────────────────────────────────────────────\~

  \!┌─ \~Notes\! ──────────────────────────────────────────────┐\~
  \!│\~ - Before you record a macro, rehearse the keystrokes \!│\~
  \!│\~   to be sure they are correct. Any mistakes you make \!│\~
  \!│\~   in "Learn" mode will be recorded with the macro.   \!│\~
  \!│\~                                                      \!│\~
  \!│\~ - Once the keystrokes are filled in at the "Macro    \!│\~
  \!│\~   keys" prompt, you can edit them as necessary.      \!│\~
  \!│\~                                                      \!│\~
  \!│\~ - If your macro involves selecting a file (report,   \!│\~
  \!│\~   database, etc.), type the exact filename, since    \!│\~
  \!│\~   you cannot predict where it will appear in the     \!│\~
  \!│\~   listing when the application is run.               \!│\~
  \!└──────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Simulating an application
\!────────────────────────────────────────────────────────────\~

1-Make sure you are in the Application Editor's upper
  window (press F9 if necessary).

2-Press F8 (Simulate). The application's main menu appears,
  as it will at run-time.

3-Move among the menus and select various menu items.
  Messages appear to indicate what action would be taken in
  response to each menu item.

4-Press Esc to end the simulation and return to the
  Application Editor screen.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Simulating an application
\!────────────────────────────────────────────────────────────\~

Move among the menus and select various menu items. Messages
appear to indicate what action would be taken in response to
each menu item.

Press Esc to end the simulation and return to the
Application Editor screen.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Inserting, deleting, and moving menu items
\!────────────────────────────────────────────────────────────\~

Insert a new menu item
\!────────────────────────── \~
Position the highlight where you want the new menu item to
appear (make sure this is the correct menu level). Select
F2, Insert a menu item. Press F9 (Switch windows) and fill
in the corresponding parameters.

Delete a menu item
\!────────────────────────── \~
Highlight the menu item and select F2, Delete a menu item.
The menu item and all sub-menus will be erased.

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*829, 833, 834]













































































Moving a menu item
\!────────────────────────────────────────────────────────────\~

Move a menu item
\!────────────────────────── \~
Highlight the menu item to move. Select F2, Move a menu
item. Position the highlight where you want to replace the
menu item (make sure it is at the correct level), and press
Enter. The menu item and all sub-menus will be re-located to
the new position.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selecting an application
\!────────────────────────────────────────────────────────────\~

Select an application, or type an application name.

Select an application by highlighting it and pressing Enter.
Use PgUp to select another drive or directory, so you can
see the list of applications stored there.

When you type the name, you can include a drive/path
specification if necessary.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Application Parameters
\!────────────────────────────────────────────────────────────\~

The application parameters allow you to:

- Store a description with the application

- Select a "startup" database or set, which Alpha Four
  automatically selects when the application is run

- Create a startup "macro" to be executed automatically when
  the application is run

- Disable the use of the Escape as a means of exiting from
  the application, or set a password protection on it.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Using help
\!────────────────────────────────────────────────────────────\~

In the help text, boldface phrases represent related topics.
For more information on a topic, use the arrow keys to
highlight the phrase and press Enter. Alternatively, single
click on the phrase.

For example, selecting the "Help topics" phrase listed below
displays an index of Help topics.

Press PgUp or single click on the Help Window's title bar to
return to the previous Help screen. Press Esc to exit Help.



\!════════════════════════════════════════════════════════════\~
                        \#Help topics\~              
\[834]













































































Help topics 
\!────────────────────────────────────────────────────────────\~

\#Applications\~                    \#Mouse Support\~
\#Browse tables\~                   \#Network Issues\~
\#Choose database/set\~             \#Other\~
\#Database/set design\~             \#Print\~
\#Field rules\~                     \#Quit\~
\#Forms\~                           \#Ranges\~
\#Functions and expressions\~       \#Reports\~
\#Global update/delete\~            \#Scripts\~
\#Indexes\~                         \#Set commands\~
\#Keystroke shortcuts\~             \#Search/sort lists\~
\#Letters\~                         \#Utilities\~
\#Mail labels\~                     \#View/enter records\~

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[835, 859, 836, 853, 8, 845, 837, 846, 838, 14, 839, 847, 840, 848, 841, 854, 842, 850, 855, 849, 843, 851, 844, 852, *833]













































































Applications
\!────────────────────────────────────────────────────────────\~

\#Allowing the Esc key\~                \#Record a macro\~
\#Application Editor screen\~           \#Run an application\~
\#Call another application\~            \#Simulate an application\~
\#Create/edit application\~             \#Startup database/set\~
\#Deleting menu items\~                 \#Startup macro\~
\#Erase an application\~           
\#Jump to another application\~    
\#Inserting menu items\~           
\#Help files\~                     
\#Moving menu items\~              
\#Password-protecting menu items\~ 
\#Prevent/allow file alterations\~ 

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[794, 824, 796, 813, 802, 826, 814, 792, 828, 793, 815, 802, 828, 805, 829, 804, 816, *833]













































































Browse table 
\!────────────────────────────────────────────────────────────\~
\#Browse Table Layout screen\~      
\#Browse Table Parameters screen\~  
\#Calculated fields\~               
\#Color expression\~               
\#Create/edit a browse table\~      
\#Erase a browse table\~
\#Formatting options\~
\#Move a field\~
\#Range and Print Settings screen\~
\#Re-select all fields\~
\#Select active browse table\~
\#Select a field\~
\#Size a field\~
\#System fields\~
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[82, 91, 174, 782, 333, 336, 176, 87, 143, 90, 334, 172, 86, 939, *833]













































































Database/set design 
\!────────────────────────────────────────────────────────────\~

\#Change name, description or password\~
\#Create a new database\~
\#Duplicate a database or set design\~
\#Erase a database or set\~
\#Field rules\~
\#Reconfigure a database\~
\#Set commands\~






\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[681, 677, 682, 680, 838, 679, 850, *833]













































































Field rules 
\!────────────────────────────────────────────────────────────\~

\#Advanced lookups\~                \#Posting Rules screen\~
\#Auto-advance\~                    \#Prompt\~
\#Calculated fields\~               \#Re-evaluate field rules\~
\#Case conversion\~                 \#Required\~
\#Create/edit field rules\~         \#Skip expression\~
\#Default value\~                   \#Summary fields\~
\#Double entry\~                    \#Template\~
\#Erase field rules\~               \#User-entered fields\~
\#Increment\~                       \#Validate expression\~
\#Lookup\~                          \#Validate message\~
\#Lookup table/database\~
\#Mask\~

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[396, 384, 375, 382, 366, 994, 370, 377, 365, 380, 373, 369, 379, 371, 995, 366, 374, 378, 394, 378, 395, 372, *833]













































































Forms 
\!────────────────────────────────────────────────────────────\~
\#Block commands\~                 \#Select a field\~
\#Calculated fields\~              \#Select a field with its title\~
\#Color a form\~                   \#Summary fields\~
\#Color expression\~               \#System fields\~
\#Create/edit a form\~
\#Erase a form\~
\#Form Layout screen\~
\#Form Parameters screen\~
\#Formatting options\~
\#Prompt order\~
\#Range and Print Settings screen\~
\#Region Parameters screen\~
\#Scrollable Regions\~
\#Select active form\~
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[263, 172, 174, 210, 304, 305, 782, 939, 233, 236, 237, 242, 176, 260, 143, 324, 325, 234, *833]













































































Functions and expressions
\!────────────────────────────────────────────────────────────\~

\#Expressions\~                  
\#Functions\~                    
\#Operators\~                    
                             
                             


                             





\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[914, 889, 909, *833]













































































Global update/delete
\!────────────────────────────────────────────────────────────\~

\#Change case (character fields)\~
\#Delete duplicate records\~
\#Delete range of records\~
\#Undelete range of records\~
\#Update expression\~
\#Update field\~







\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[968, 971, 969, 970, 972, 967, *833]













































































Indexes
\!────────────────────────────────────────────────────────────\~

\#Allow duplicate keys\~
\#Attach an index\~
\#Case-sensitive indexes\~
\#Create an index\~
\#Detach an index\~
\#Erase an index\~
\#Index Expression screen\~
\#Index keys\~
\#Index Table screen\~
\#Primary index\~
\#Update indexes\~
\#What is an index?\~

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[981, 977, 983, 974, 978, 975, 986, 363, 984, 973, 976, 1027, *833]













































































Letters
\!────────────────────────────────────────────────────────────\~

\#Block commands\~                  \#Letter Layout screen\~
\#Bottom margin\~                   \#Page eject\~
\#Conditionals\~                    \#Prompted text field\~
\#Calculated fields\~               \#Select a field\~
\#Control codes\~                   \#System fields\~
\#Create/edit a form letter\~       \#Top margin\~
\#Disable auto fill\~               
\#Enable auto fill\~                
\#Erase a form letter\~             
\#Field formats\~                   
\#Include an external file\~        
\#Left margin\~

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[952, 267, 161, 947, 280, 944, 283, 282, 950, 939, 267, 160, 949, 948, 268, 338, 272, 159, *833]













































































Mail labels
\!────────────────────────────────────────────────────────────\~

\#Calculated fields\~
\#Create/edit a mail label\~
\#Erase a mail label\~
\#Formatting options\~
\#Label Layout screen\~
\#Label Parameters screen\~
\#Range and Print Settings screen\~
\#Select a field\~
\#Select a field with its title\~
\#System fields\~



\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[174, 204, 206, 176, 213, 207, 143, 172, 210, 939, *833]













































































Other
\!────────────────────────────────────────────────────────────\~

\#Create/edit a printer configuration\~
\#Database/set structure (display)\~
\#Default settings\~
\#Erase a printer configuration\~
\#Field statistics (calculate)\~
\#Mouse configuration\~
\#Network configuration (for network version only)\~
\#Select a printer configuration\~
\#Set screen colors\~
\#Status (display)\~
\#Telephone dialer setup\~


\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[604, 24, 27, 604, 23, 35, 28, 604, 26, 22, 29, *833]













































































Print
\!────────────────────────────────────────────────────────────\~

\#Align Labels screen\~
\#Browse tables\~
\#Forms\~
\#Letters\~
\#Mail labels\~
\#Output Drive/Filename screen\~
\#Print Destination screen\~
\#Printer Setup screen\~
\#Reports\~




\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[704, 698, 697, 699, 696, 706, 702, 700, 695, *833]













































































Ranges
\!────────────────────────────────────────────────────────────\~

\#Create/edit a range\~            
\#Erase a range\~                  
\#Filter\~                         
\#Filter status\~                  
\#First record\~                   
\#Link mode\~                    
\#Last record\~                    
\#Order\~                  
\#Primary index\~                  
\#Show\~
\#Unique keys\~


\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[345, 980, 352, 356, 354, 360, 355, 357, 353, 359, 358, *833]













































































Reports
\!────────────────────────────────────────────────────────────\~
\#Create/edit a report\~         
\#Custom reports\~               
\#Calculated fields\~            
\#Erase a report\~               
\#Formatting options\~
\#Grouping Parameters screen\~   
\#Place a field's title\~        
\#Quick reports\~
\#Range and Print Settings screen\~
\#Report Layout screen\~
\#Report Parameters screen\~
\#Select a field\~
\#Summary fields\~
\#System fields\~
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[164, 167, 174, 166, 176, 169, 173, 167, 143, 179, 168, 172, 175, 939, *833]













































































Search/sort lists
\!────────────────────────────────────────────────────────────\~

\#Create a one-time search/sort\~       
\#Create/edit a saved search/sort\~     
\#Erase a saved search/sort\~           
\#Run a saved search/sort\~             
\#Search Expression\~       
\#Search Table\~            
\#Sort Expression\~         
\#Sort Table\~              
\#Search/sort history\~     




\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[644, 642, 645, 643, 652, 646, 659, 653, 658, *833]













































































Set commands
\!────────────────────────────────────────────────────────────\~

\#Child database editing rules\~     \#Set diagram\~
\#Create a set design\~              \#Show mode\~
\#Erase a set design\~               \#Zoom browse\~
\#Filter\~                           \#Zoom form\~
\#Filter status\~
\#Include parent if?\~
\#Integrity Rule screen\~
\#Link types\~
\#Modify a set design\~
\#Parent and child databases\~
\#Primary database\~
\#Referential Integrity\~

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[520, 1018, 661, 1006, 680, 1010, 1007, 1009, 1008, 1005, 526, 1003, 662, 667, 518, 688, *833]













































































Utilities
\!────────────────────────────────────────────────────────────\~

\#Append records to the current database\~
\#Copy the current database\~
\#Cross tabulate the current database\~
\#Export data\~
\#Import data\~
\#Intersect two databases\~
\#Join two databases\~
\#Pack the current database\~
\#Post transactions to a database\~
\#Subtract two databases\~
\#Summarize the current database\~
\#Zap the current database\~

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[626, 625, 633, 629, 628, 614, 612, 630, 611, 613, 627, 631, *833]













































































View/enter records
\!────────────────────────────────────────────────────────────\~

\#Browse\~                         \#Insert the current date\~
\#Change\~                         \#Locate a record\~
\#Choose a new form\~              \#MainMenu (return to)\~
\#Choose a new table\~             \#Memo field editor\~
\#Copy the previous field\~        \#Recalculate computed fields\~
\#Copy the previous record\~       \#Search and replace\~
\#Define a range\~                 \#Status line\~
\#Delete a record\~                \#Toggle recalculation mode\~
\#Edit the current form\~          \#View\~
\#Edit the current table\~         \#Undelete a record\~ 
\#Enter\~                          \#Undo changes\~
\#Find a record\~                  \#Un-zoom\~
\#Index\~                          \#Zoom to child file\~  
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[64, 126, 39, 50, 53, 44, 75, 56, 121, 123, 122, 52, 47, 878, 48, 124, 54, 38, 76, 49, 40, 125, 42, 58, 43, 57, *833]













































































Network Issues (for network version only)
\!────────────────────────────────────────────────────────────\~

The following topics apply only to the network version of
Alpha Four:  

\#Auto Update\~
\#Commands that require Exclusive mode\~
\#Exclusive and Shared modes\~
\#Network Settings\~






\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[856, 857, 858, 466, *833]













































































Scripts
\!────────────────────────────────────────────────────────────\~

\#Create a Keystroke script\~
\#Create a Dialog Box script\~
\#Create a Menu Bar script\~
\#Debug a script\~
\#Display script variables\~
\#Erase a script\~
\#Last script\~
\#Play a script\~
\#Modify a script\~
\#Set script path\~
\#Script commands\~


\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[453, 454, 507, 456, 459, 455, 457, 451, 452, 460, 1065, *833]













































































Alpha Four shortcut keys
\!────────────────────────────────────────────────────────────\~

\#Applications\~
\#Browse table design\~
\#Copy and Paste\~
\#Enter mode\~
\#Form design\~
\#General\~
\#Layouts\~
\#Letter design\~
\#Mail label design\~
\#Main Menu\~
\#Report design\~
\#Scripts\~
\#View and Browse modes\~
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[861, 862, 863, 864, 865, 867, 868, 869, 870, 871, 872, 873, 875, *833]













































































Auto Update (for network version only)
\!────────────────────────────────────────────────────────────\~

Alpha Four can automatically update the sceen periodically
when you are in View or Browse mode to ensure that records
that you are viewing reflect any changes that other users on
the network may have made.

For example, if you are viewing record 7 and another user on
the network makes changes to this record, your screen will
be updated to reflect the changes.

To specify the number of seconds that Alpha Four should wait
before updating the screen choose Other, Configuration and
Network Configuration. The default is 60 seconds.

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Commands that require exclusive mode (network version only)
\!────────────────────────────────────────────────────────────\~

\#Zap\~                      \#Attach an index\~
\#Pack\~                     \#Detach an index\~
\#Reconfigure\~              \#Update indexes\~
\#Create an index\~          \#Erase an index\~

If you print a report which includes pre-processed summary
fields or widows or orphans suppression, Alpha Four will
need to lock the database to prevent changes and new entries
from being made to the database while the report is being
printed.



\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[631, 977, 630, 978, 679, 976, 974, 975, *833]













































































Exclusive and shared modes (for network version only)
\!────────────────────────────────────────────────────────────\~

Alpha Four Network Version allows you to open a database in
either exclusive or shared mode. 

If a user opens a database in exclusive mode, no other user
can have access to that database. If a user opens a database
in shared mode, other users on the network will also be able
to access that database in shared mode.

The default mode is set using the Other, Configuration,
Network settings command. To temporarily override the
default setting, press F7 (Share mode) on the Database
Selection screen when you are opening a database or set. 

\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Mouse Techniques
\!────────────────────────────────────────────────────────────\~

Single click
\!──────────────────────────────────────────────────────────\~
Click the left mouse button once to select menu or lookup
window options, functions, and prompt options.  Use the same
action to quickly reposition the cursor on a form or layout
and to move between windows.

Double-click
\!──────────────────────────────────────────────────────────\~
Double-click the left mouse button as an alternative to
using the Enter key and to accept entered values.

\#More...\~
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[860, *833]













































































Mouse Techniques
\!────────────────────────────────────────────────────────────\~

Drag
\!──────────────────────────────────────────────────────────\~
Click and hold the left mouse button and drag the mouse to
highlight an area to move or copy, resize an object, or to
move the highlight between menu options.








\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Application shortcut keys
\!────────────────────────────────────────────────────────────\~

Designing Applications:

Alt-I   Inserts a Menu Item
Alt-M   Moves a Menu Item
Alt-D   Deletes a Menu Item
Alt-S   Saves the Application

In the Application Screen Painter:

Alt-M   Moves a Block
Alt-D   Deletes a Block
ALt-C   Copies a Block
Alt-L   Toggles Text/Color Link
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Browse table design shortcut keys
\!────────────────────────────────────────────────────────────\~
Alt-F      Selects a field to display on the Browse table.
Alt-C      Defines a calculated field.
Alt-O      Formatting Options screen.
Alt-I      Inserts a line above the current cursor          
           position.
Alt-D      Deletes the line at the current cursor           
           position.
+          Increases the display length of the field        
           in which the cursor is positioned.
-          Decreases the display length of the field        
           in which the cursor is positioned.
Alt-S      Saves the Browse table.
Alt-Z      Sizes a field
Alt-M      Moves a field
\!════════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Copy, and Paste shortcut keys
\!────────────────────────────────────────────────────────────\~

Alpha Four's clipboard feature allows you to copy text from
one field to another, from one record to another, from a
field to a memo field or from one expression to another.

Alt-F5     Copies the expression or field value into the    
           clipboard.
Alt-F6     Pastes the expression or field value from the    
           clipboard.

While you are editing letters, memo fields or scripts, the
Block commands are used to copy text to and from the
clipboard.

\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Enter mode shortcut keys
\!────────────────────────────────────────────────────────────\~

Alt-R      Copies all fields from the previously displayed
           record into all fields in the current record.
Alt-F      Copies contents from the corresponding field in
           the previously displayed record into the current
           field. 
Alt-M      Accesses the Memo Editor when the cursor is in a
           memo field.
Alt-D      Places the DOS system date in the current field. 
Alt-C      Recalculates all calculated fields. In a set it  
           also re-establishes all links to the child       
           database records.


\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys for designing a form
\!────────────────────────────────────────────────────────────\~

Alt-F     Selects a field to display on the Form.
Alt-C     Defines a calculated field.
Alt-O     Formatting Options screen.
Alt-I     Inserts a line above the current cursor           
          position.
Alt-D     Deletes the line at the current cursor position or
          deletes the region in which the cursor rests.
+         Increases the display length of the field         
          in which the cursor is positioned.
-         Decreases the display length of the field         
          in which the cursor is positioned.
Alt-S     Saves the Form.

\!═══════════════════════════════════════════════════════════\~
        \#Next page\~              \#Using help\~
\[866, *833]













































































Shortcut keys for designing a form
\!────────────────────────────────────────────────────────────\~

Alt-T     Selects a field to display on the form with its   
          title.
Alt-M     Moves a block of text and/or fields or lets you
          move the region in which the cursor rests.
Alt-Z     With the cursor on a region border, sizes the
          region horizontally or vertically.
Alt-P     Lets you change the parameters for a region.






\!═══════════════════════════════════════════════════════════\~
        \#Previous page\~           \#Using help\~
\[865, *833]













































































Shortcut keys for all Alpha Four screens
\!────────────────────────────────────────────────────────────\~



Alt-F10    Returns to the Alpha Four main menu.

Note: Alt-F10 will not save any work in progress
before going back to the main menu. Be sure to save your
work before using this shortcut key.






\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys common to all Layouts (except Letters)
\!────────────────────────────────────────────────────────────\~

Alt-F        Selects a field to display on the Layout.
Alt-C        Defines a calculated field.
Alt-O        Formatting Options screen.
Alt-I        Inserts a line above the current cursor        
             position.
Alt-D        Deletes the line at the current cursor         
             position.
+            Increases the display length of the field      
             in which the cursor is positioned.
-            Decreases the display length of the field      
             in which the cursor is positioned.
Alt-S        Saves the layout.

\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys for designing letters
\!────────────────────────────────────────────────────────────\~



Alt-D        Deletes a block.
Alt-C        Copies a block.
Alt-I        Inserts a block.
Alt-F        Selects a field to display on the letter







\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys for designing labels
\!────────────────────────────────────────────────────────────\~
Alt-F      Selects a field to display on the Layout.
Alt-C      Defines a calculated field.
Alt-O      Formatting Options screen.
Alt-I      Inserts a line above the current cursor          
           position.
Alt-D      Deletes the line at the current cursor position.
+          Increases the display length of the field        
           in which the cursor is positioned.
-          Decreases the display length of the field        
           in which the cursor is positioned.
Alt-S      Saves the layout.
Alt-T      Selects a field to display on the label with its 
           fieldname as a title.
Alt-P      Saves and previews the mail label to the screen.
\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys from the Main Menu
\!────────────────────────────────────────────────────────────\~

F2      -Displays the database structure set structure.
F3      -Displays information about the current database or
         set and other information about Alpha Four.
B       -Accesses Browse mode directly.
E       -Accesses Enter mode directly.

Alt-F1  -Record a quick script (called UNTITLED).
Alt-F2  -Plays back the quick script.
Alt-F3  -Displays the Scripts menu.
Alt-F4  -Plays back a script.



\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys for designing reports
\!────────────────────────────────────────────────────────────\~
Alt-F      Selects a field to display on the report.
Alt-C      Defines a calculated field.
Alt-O      Formatting Options screen.
Alt-I      Inserts a line above the current cursor position.
Alt-D      Deletes the line at the current cursor position.
+          Increases the display length of the field        
           in which the cursor is positioned.
-          Decreases the display length of the field        
           in which the cursor is positioned.
Alt-S      Saves the report.
Alt-T      Places a fieldname as a column title.
Alt-P      Saves and previews the report to the screen.
Alt-A      Adds a line to the end of the current section.
Alt-U      Defines a summary field.
\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys for designing and playing Scripts
\!────────────────────────────────────────────────────────────\~

General:

Alt-F4    Plays a script.
Alt-F1    Quickly record a Keystroke script named UNTITLED.
Alt-F2    Plays the script named UNTITLED.
Alt-F3    Plays the last loaded script.

In the Dialog Box Editor:

Alt-M     Moves a block.
Alt-D     Deletes a block.
Alt-C     Copies a block.

\!═══════════════════════════════════════════════════════════\~
            \#Next page\~            \#Using help\~                
\[874, *833]













































































Shortcut keys for designing and playing Scripts
\!────────────────────────────────────────────────────────────\~

In the Keystroke Script and Macro Editors:

Alt-D    Deletes block.
Alt-C    Copies block.
Alt-I    Inserts block.








\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys while Viewing and Browsing
\!────────────────────────────────────────────────────────────\~

F2     Displays database format or Set structure.
F3     Displays information about the current database or
       set and other information about Alpha Four.
Alt-D  Marks the current record for deletion.
Alt-U  Unmarks the current record.
Alt-M  Accesses the Memo Editor
L      Locate: Searches specified fields for data.
R      Displays the Range Settings screen.
I      Selects the primary index.
0-9    These keys are used to skip automatically through
       records. 0 skips fastest, 9 skips slowest.


\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]













































































Shortcut keys for editing memo fields and letters
\!────────────────────────────────────────────────────────────\~



Alt-D        Deletes a block.
Alt-C        Copies a block.
Alt-I        Inserts a block.

For letters only:
Alt-F        Selects a field to display on the letter





\!═══════════════════════════════════════════════════════════\~
                        \#Using help\~
\[*833]















































































































































































The status line
\!────────────────────────────────────────────────────────────\~

VIEW══Manual═SEARCH/SORT═Record:1═DEL═NOTDEL═Page:1═Filter═A
  1     2         3         4      5    6      7      8    9

1-Current mode: View, Browse, Change, or Enter.

2-Recalculation mode: (Change and Enter modes only).
  Displays "Manual" if \#recalculation mode\~ is manual.

3-Search/sort: appears only when a \#search/sort list\~ is the
active index.

4-Record number: displays the current record number.
\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[124, 5, *879, 833, 834]













































































The Status Line (continued)
\!────────────────────────────────────────────────────────────\~
5-Delete marker: displays "DEL" if the current record has
  been \#marked as deleted\~ (otherwise displays nothing).

6-Show mode: displays "DELETED" if \#only deleted records are
  displayed\~, and "NOTDEL" if only non-deleted records are
  displayed (is blank when all records are displayed).

7-Page number: displays the current page number for
  multi-page \#forms\~. Forms can contain up to 10 pages.

8-Filter status: displays "Filter" if a \#filter\~ is active.

9-Direction: displays "A" if records appear in ascending
  \#order\~, or "D" if they appear in descending order.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[48, 359, 883, 352, 357, *833, 834]













































































View mode: Moving around the database
\!────────────────────────────────────────────────────────────\~

Use the following keys to move around the database in View
mode, so you can look at different records:

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Up          Previous record
Down        Next record
Tab         Forward 10 records
Shift-Tab   Backward 10 records
Ctrl-Home   First record in database
Ctrl-End    Last record in database
PgDn        Next page, in multiple-page forms
PgUp        Previous page, in multiple-page forms
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Browse mode: Moving around the database
\!────────────────────────────────────────────────────────────\~

Use these keys to move around the database in Browse mode:

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Up          Previous record
Down        Next record
Ctrl-Home   First record in database
Ctrl-End    Last record in database
PgDn        Next page (screen) of records
PgUp        Previous page (screen) of records

The browse table also has keys that let you \#move within each
record\~.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[882, *833, 834]













































































Browse mode: Moving around each record
\!────────────────────────────────────────────────────────────\~

Use the following keys to move around a record in the browse
table, so you can see all of its fields:

Key          Moves to:
\!──────────\~   \!───────────────────────────────────────────────\~
Right        One column (field) right
Left         One column (field) left
Tab          One screen left
Shift-Tab    One screen right
Ctrl-Right   Last (right-most) column in table
Ctrl-Left    First (left-most) column in table
Home         First column on screen, first record
End          First column on screen, last record
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































What are forms?
\!────────────────────────────────────────────────────────────\~

In View mode, Alpha Four displays one record at a time, in a
"form". Alpha Four provides a default form for each database
or set. This default form (called form "0") lists all of the
fields from the database or set, in one column.

You can create up to 26 custom-designed forms for each
database or set, deciding which fields to include, and how
they should be placed. You can adjust field sizes, and
control their display formats.

For example, you might want to design an invoice-entry form
to resemble an actual paper invoice, making it easier to
enter and display invoice information.
\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~            \#Creating forms\~
\[*833, 834, 233]













































































What are browse tables?
\!────────────────────────────────────────────────────────────\~

In Browse mode, Alpha Four displays records in a "browse
table", which displays up to 20 records at a time. In the
browse table, each row contains a record. Each column
contains all of the values for a particular field.

Alpha Four provides a default browse table for each database
or set. This default table (called table "0") lists all of
the fields from the database or set, across the screen.

You can create up to 26 custom-designed browse tables for
each database or set, deciding which fields to include, and
how they should be ordered. You can adjust field sizes, and
control their display formats.
\!════════════════════════════════════════════════════════════\~
\#Using help\~         \#Help topics\~        \#Creating browse tables\~
\[*833, 834, 82]













































































Moving around the lookup table
\!────────────────────────────────────────────────────────────\~

Use the following keys for moving around the lookup table:

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Up          Previous record
Down        Next record
PgUp        Previous page of records
PgDn        Next page of records
Tab         Next record
Shift-Tab   Previous record



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Moving around the cascading lookup table
\!────────────────────────────────────────────────────────────\~

Use the following keys for moving around the cascading
lookup table:

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Up          Previous choice
Down        Next choice
PgUp        Previous page of choices
PgDn        Next page of choices
Tab         Next record
Shift-Tab   Previous record
Enter       Select highlighted choice
Esc         Previous table
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Moving around the lookup database
\!────────────────────────────────────────────────────────────\~

Use the following keys for moving around the lookup
database:

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Up          Previous record
Down        Next record
PgUp        Previous page of records
PgDn        Next page of records
Ctrl-Home   First record in lookup database
Ctrl-End    Last record in lookup database
Tab         Next record
Shift-Tab   Previous record
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Finding particular records in a lookup database
\!────────────────────────────────────────────────────────────\~

Press F2 (Find) to search for a particular record, based
upon the lookup database's display index.

This works just like the \#Find command in View mode\~.

If you toggle from the \#display index\~ to the \#linking index
\~using F3 (Toggle index), F2 (Find) will use the linking
index. 





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[42, 419, 418, *833, 834]













































































\*890





























































































Function index
\!────────────────────────────────────────────────────────────\~
\#{}\~          \#CDOW\~        \#DBF\~         \#EXP\~         \#ISUPPER\~
\#ABS\~         \#CEILING\~     \#DBMAX\~       \#FIELD\~       \#KEY_EXIST\~
\#ACOS\~        \#CHKDIGIT\~    \#DBMIN\~       \#FLOOR\~       \#LEFT\~
\#ADDMONTHS\~   \#CHR\~         \#DBSUM\~       \#FV\~          \#LEN\~
\#ADDYEARS\~    \#CMONTH\~      \#DELETED\~     \#F_UPPER\~     \#LIKE\~
\#ASC\~         \#COS\~         \#DIFFERENCE\~  \#IF\~          \#LOG\~
\#ASIN\~        \#CSTATE\~      \#DMY\~         \#IIF\~         \#LOWER\~
\#AT\~          \#CTOD\~        \#DOW\~         \#INT\~         \#LTRIM\~
\#ATAN\~        \#DATE\~        \#DTOC\~        \#INVERT\~      \#MAX\~
\#ATAN2\~       \#DAY\~         \#DTOR\~        \#ISALPHA\~     \#MDY\~
\#BOF\~         \#DBAVG\~       \#DTOS\~        \#ISBLANK\~     \#MIN\~
\#CCVALID\~     \#DBCOUNT\~     \#EOF\~         \#ISLOWER\~     \#MOD\~
\#CDATE\~      
\!════════════════════════════════════════════════════════════\~
\#Next page\~          \#Using help\~             \#Help topics\~       
        \#Expressions\~          \#Using functions\~                
\[893, 895, 896, 899, 900, 893, 895, 897, 899, 900, 893, 895, 897, 899, 900, 893, 895, 897, 899, 901, 893, 895, 898, 899, 901, 893, 895, 898, 900, 901, 893, 895, 898, 900, 901, 894, 895, 898, 900, 901, 894, 896, 898, 900, 901, 894, 896, 898, 900, 901, 894, 896, 898, 900, 901, 894, 896, 899, 900, 901, 894, *891, 833, 834, 914, 892]













































































Function index
\!────────────────────────────────────────────────────────────\~
\#MONTH\~       \#RECSIZE\~     \#SOUNDEX\~     \#TOTIME\~      \#XLOOKUPC\~
\#OCCURS\~      \#REMSPECIAL\~  \#SPACE\~       \#TRANSFORM\~   \#XLOOKUPR\~
\#PAYMENT\~     \#REPLICATE\~   \#SQRT\~        \#TRIM\~        \#YEAR\~
\#PI\~          \#RIGHT\~       \#STR\~         \#UPPER\~       \#Z_BLANK\~
\#PREVIOUS\~    \#ROUND\~       \#STUFF\~       \#VAL\~         \#*ANY\~
\#PV\~          \#RTOD\~        \#SUBSTR\~      \#WORD\~        \#*FIRST\~
\#RAND\~        \#RTRIM\~       \#TAN\~         \#W_COUNT\~     \#*LEADING\~
\#RECCOUNT\~    \#SIGN\~        \#TIME\~        \#W_UPPER\~     \#*WORD\~
\#RECNO\~       \#SIN\~         \#TOSECONDS\~   \#XLOOKUP\~




\!════════════════════════════════════════════════════════════\~
\#Previous page\~        \#Using help\~           \#Help topics\~       
          \#Expressions\~           \#Using functions\~             
\[901, 903, 904, 905, 907, 902, 903, 904, 906, 907, 902, 903, 904, 906, 908, 902, 903, 904, 906, 908, 902, 903, 905, 906, 908, 902, 904, 905, 906, 908, 903, 904, 905, 906, 908, 903, 904, 905, 906, 908, 903, 904, 905, 907, *890, 833, 834, 914, 892]













































































Using functions
\!────────────────────────────────────────────────────────────\~

You can use a function anywhere you would normally use a
value, a fieldname, or an expression (for example, in search
expressions, indexes, and calculated fields).

Typical uses of functions include: converting the data's
type (e.g., from character to date), extracting a portion of
a field, converting the capitalization of data, and testing
the contents of a field.

Functions take the form FUNCTION_NAME(arguments). The
arguments can be numeric, character, memo, logical, or date.
You can represent an argument with a value (SQRT(9)), a
fieldname (SQRT(RESULT)), or an expression (SQRT(RESULT-6)).
\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Expressions\~
\[*833, 834, 914]













































































Functions: {} - ASIN
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
{c}            Converts character date to actual date value.
ABS(n)         Returns absolute value of `n'.               
ACOS(n)        Returns the arc cosine of an angle expression
               in radians.                                  
ADDMONTHS(d,n) Adds a number of months to a date.           
ADDYEARS(d,n)  Adds a number of years to a date.            
ASC(c)         Returns ASCII equivalent of 1st character in 
               `c'.                                         
ASIN(n)        Returns the arc sine of an angle expression  
               in radians.                                  
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
        \#Next page\~                      \#Function index\~       
\[833, 834, 909, 914, 894, 890]













































































Functions: AT - CDATE
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
AT(c,c)     Returns the position at which one character     
            string is found within another string.          
ATAN(n)     Returns the arc tan of an angle radians.        
ATAN2(n)    Returns the arc tangent of an angle angle (in   
            radians) for all four quandrants.               
BOF()       Returns TRUE if record pointer is at the        
            beginning of the file.                          
CCVALID(c)  Returns TRUE if field contains a valid credit   
            card number.                                    
CDATE(d)    Converts a date to a character as "YYYYMMDD".   
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 895, 893, 890]













































































Functions:  CDOW - CTOD
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
CDOW(d)     Returns the name of the day of the week for `d'.
CEILING(n)  Returns the smallest integer that is greater    
            than or equal to `n'.                           
CHKDIGIT(c) Returns a checksum for the string of `c'.       
CHR(n)      Returns character equivalent of ASCII value `n'.
CMONTH(d)   Returns the name of the month for `d'.          
COS(n)      Returns the cosine of an angle in radians.      
CSTATE("c") Returns the name of the two character state     
            abbreviation "c"
CTOD("c")   Converts character date to actual date value.   
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 896, 894, 890]













































































Functions: DATE - DBF
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
DATE()       Returns the current system date.               
DAY(d)       Returns the day of the month for `d'.          
DBAVG        Searches records in an external database `c1'  
(c1,c2,e,c3) that match the key value `e' and returns the   
             average value for a field `c3' in the matching 
             records.                                       
DBCOUNT      Searches records in an external database `c1'  
(c1,c2,e)    that match the key value `e' and returns the   
             count of the matching records.                 
DBF()        Returns the name of the current database.      
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 897, 895, 890]













































































Functions: DBMAX - DBSUM
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
DBMAX        Searches records in an external database `c1'  
(c1,c2,e,c3) that match the key value `e' and returns the   
             maximum value for the field `c3' in the        
             matching records.
DBMIN        Searches records in an external database `c1'  
(c1,c2,e,c3) that match the key value `e' and returns the   
             minimum value for a field `c3'.                
DBSUM        Searches records in an external database `c1'  
(c1,c2,e,c3) that match the key value `e' and returns the   
             sum of the field `c3' in the matching records. 
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 898, 896, 890]













































































Functions: DELETED - DTOS
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
DELETED([c]) Returns TRUE if the current record has been    
             deleted. A database name may be specified.     
DIFFERENCE(c1,c2) Returns the difference between the soundex
             values `c1' and `c2' (From 0-4).               
DMY(d)       Returns string "DD Month YYYY" for `d'.        
DOW(d)       Returns number of day-of-the-week for the `d'. 
DTOC(d)      Converts `d' to character, as MM/DD/YYYY.      
DTOR(n)      Converts an angle expression in degrees to an  
             angle expression in radians.                   
DTOS(d)      Returns a character as "YYYYMMDD" for `d'.     
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 899, 897, 890]













































































Functions: EOF - IF
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
EOF()      Returns TRUE if record pointer's at end of file. 
EXP(n)     Returns the number "e" raised to the power `n'.  
FIELD      Returns the fieldname of position `n2' in the    
(n1,n2)    structure of the database specified by `n1'.     
FLOOR(n)   Returns largest integer less than or equal to `n'
FV         Returns the future value of equal investments,   
(n1,n2,n3) at a fixed interest rate for a certain period.   
F_UPPER(c) Capitalizes the first letter in `c'.             
IF         Returns `e1' if `l' is TRUE, else `e2' (`e1',    
(l,e1,e2)  `e2' must evaluate to same type). IIF is same.   
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 900, 898, 890]













































































Functions: IIF - LEFT
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
IIF         Same as IF.                                     
INT(n)      Returns the fractional part of `n'.             
INVERT(e)   Returns the complement of `e'.                  
ISALPHA(c)  Returns TRUE if 1st character of `c' is letter. 
ISBLANK(c)  Returns TRUE if `c' is blank.                   
ISLOWER(c)  Returns TRUE if 1st letter of `c' is lowercase. 
ISUPPER(c)  Returns TRUE if 1st letter of `c' is uppercase. 
KEY_EXIST   Returns TRUE if the specified key value `e3' is 
(c1,c2,e3)  found in a index file `c2' for database `c1'.   
LEFT(c,n)   Returns first `n' characters from `c'.          
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 901, 899, 890]













































































Functions: LEN - MONTH
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn         
    \!────────────────────────────────────────────────────\~    
LEN(c)      Returns the number of characters in `c'.        
LIKE(c1,c2) TRUE if c1 (which may inclue * and ?) equals c2.
LOG(n)      Returns the natural log (base "e") of `n'.      
LOWER(c)    Converts `c' to lowercase.                      
LTRIM(c)    Removes any leading blanks in `c'.              
MAX(n1,n2)  Returns the larger of `n1' and `n2'.            
MDY(d)      Returns a character string as "Month DD, YYYY". 
MIN(n1,n2)  Returns the lesser of `n1' and `n2'.            
MOD(n1,n2)  Returns the integer remainder of `n1'/`n2'.     
MONTH(d)    Returns the number of the month in `d'.         
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 902, 900, 890]













































































Functions: OCCURS - PV
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn
    \!────────────────────────────────────────────────────\~    
OCCURS      Returns the number of times character expression
(c1,c2)     `c1' is found in character expression `c2'.     
PAYMENT     Returns the fixed period payment required to    
(n1,n2,n3)  amortize a loan at fixed interest rate over a   
            given number of pay periods.                    
PI          Returns the value of Pi, about 3.141593.        
PREVIOUS(c) Returns the value from fieldname `c' in the     
            previous record.                                
PV          Returns the present value of investments at a   
(n1,n2,n3)  a fixed rate over number of periods.            
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 903, 901, 890]













































































Functions: RAND - ROUND
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn
    \!────────────────────────────────────────────────────\~    
RAND()          Returns a random number between 0 and 1.    
RECCOUNT()      Returns number of records in the current    
                database.                                   
RECNO()         Returns record number of the current record.
RECSIZE()       Returns the number of characters per record.
REMSPECIAL(c)   Strips non-alphabetic and non-numeric       
                character from `c'.                         
REPLICATE(c,n)  Creates string by repeating `c' `n' times.  
RIGHT(c,n)      Returns the last `n' characters in `c'.     
ROUND(n1, n2)   Returns `n1' rounded to `n2' decimal places.
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 904, 902, *890]













































































Functions: RTOD - STR
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn
    \!────────────────────────────────────────────────────\~    
RTOD(n)         Converts angle in radians to degrees.       
RTRIM(c)        Removes trailing blanks from `c'.           
SIGN(n)         Returns 1 if `n' is positive, 0 if zero and 
                -1 if `n' is a negative number.             
SIN(n)          Returns the sine of `n' which is in radians.
SOUNDEX(c)      Returns the soundex value of `n'.           
SPACE(n)        Returns string containing `n' spaces.       
SQRT(n)         Returns the square root of `n'.             
STR(n1,n2,n3)   Converts `n1' to char. string of length `n2'
                and `n3' dec. places. (n2,n3 are optional)  
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 905, 903, *890]













































































Functions: STUFF - TOTIME
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn
    \!────────────────────────────────────────────────────\~    
STUFF(c1,n1,n2,c2) Starting from position `n1' in string    
                   `c1', deletes `n2' characters and        
                   replaces them with string `c2'.          
SUBSTR(c,n1,n2)    Returns the substring in `c', from       
                   position `n1' through `n2'.              
TAN(n)             Returns the tangent of `n'.              
TIME()             Returns the current time as HH:MM:SS.    
TOSECONDS(c)       Returns the number of seconds in `c'.    
TOTIME(n1,n2,n3)   Converts a time value to a formatted     
                   time character string.                   
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 906, 904, *890]













































































Functions: TRANSFORM - W_UPPER
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn
    \!────────────────────────────────────────────────────\~    
TRANSFORM  Returns a character string that formats `exp'    
(exp,c)    according to a user defined format.              
TRIM(c)    Removes trailing blanks from `c'.                
UPPER(c)   Converts `c' to uppercase.                       
VAL(c)     Converts `c' to a numeric value.                 
WORD(c,n)  Returns the `n'th word from `c'. If `n' is       
           negative, returns `n'th word from the end of `c'.
W_COUNT(c) Returns the number of words in `c'.              
W_UPPER(c) Capitalizes the 1st letter of each word in `c'.  

\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 907, 905, *890]













































































Functions: XLOOKUP - XLOOKUPR
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn
    \!────────────────────────────────────────────────────\~    
XLOOKUP      Searches for a record in external database `c1'
(c1,c2,e,c3) that match the key value `e' and returns the   
             value in the field `c3' in the matching record.
XLOOKUPC     Searches for a record in external database `c1'
(c1,c2,e,c3) that most closely matches the key value `e' and
             returns the value in the field `c3' in the most
             closely matching record.                       
XLOOKUPR     Searches for record number `n' in external     
(c1,n,c2)    database `c1' and returns the value from field 
             `c2'.                                          
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Next page\~       \#Previous page\~       \#Function index\~    
\[833, 834, 909, 914, 908, 906, *890]













































































Functions: YEAR - *WORD
\!────────────────────────────────────────────────────────────\~
`n'-numeric exprn     `c'-character exprn     `d'-date exprn
           `l'-logical exprn          `e'-any exprn
    \!────────────────────────────────────────────────────\~    
YEAR(d)         Returns the year portion of `d'.            
ZBLANK(n)       Converts `n' to a character string,         
                returning a blank string when `n' is zero.  
*ANY(c1,c2)     Returns TRUE if `c2' is anywhere in `c1'    
*FIRST(c1,c2)   Returns TRUE if `c2' is at the start of `c1'
*LEADING(c1,c2) Returns TRUE if `c2' matches the first part 
                of any word in `c1'                         
*WORD(c1,c2)    Returns TRUE if `c2' is a whole word in `c1'
                                                            
                                                            
\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Operators\~       \#Expressions\~
      \#Previous page\~                  \#Function index\~         
\[833, 834, 909, 914, 907, *890]













































































Arithmetic operators
\!────────────────────────────────────────────────────────────\~

Operator   Purpose
\!──────── \~  \!─────────────────────────────────────────────────\~
  ( )      Parentheses (ordering operations) 
   **      Exponentiation (raising to a power)
   *       Multiplication      
   /       Division 
   +       Addition 
   -       Subtraction         

Arithemtic operators are evaluated in the order: 1=(), 2=**,
3=* or /, 4=+ or -. When multiple operations have the same
precedence, they are evaluated from left to right.
\!════════════════════════════════════════════════════════════\~
\#Date\~           \#Logical\~           \#Relational\~           \#String\~
      \#Using help\~                           \#Help topics\~      
\[912, 913, 911, 910, *833, 834]













































































String operators
\!────────────────────────────────────────────────────────────\~

Operator   Purpose
\!──────── \~  \!─────────────────────────────────────────────────\~
   +       Concatenation (appending strings)
   -       Concatenation with blanks trimmed
   $       Substring inclusion (detecting a string within
           a larger string






\!════════════════════════════════════════════════════════════\~
\#Arithmetic\~          \#Date\~          \#Logical\~         \#Relational\~
          \#Using help\~                    \#Help topics\~        
\[909, 912, 913, 911, *833, 834]













































































Relational operators
\!────────────────────────────────────────────────────────────\~

Operator   Purpose
\!──────── \~  \!─────────────────────────────────────────────────\~
   <       Less than        
   <=      Less than or equal
   >       Greater than     
   >=      Greater than or equal
   =       Equal            
   <>      Not equal  
 



\!════════════════════════════════════════════════════════════\~
\#Arithmetic\~           \#Date\~           \#Logical\~           \#String\~
          \#Using help\~                       \#Help topics\~    
\[909, 912, 913, 910, *833, 834]













































































Date operators
\!────────────────────────────────────────────────────────────\~

Operator   Purpose
\!──────── \~  \!─────────────────────────────────────────────────\~
   +       Addition            
   -       Subtraction








\!════════════════════════════════════════════════════════════\~
\#Arithmetic\~         \#Logical\~         \#Relational\~         \#String\~
         \#Using help\~                         \#Help topics\~  
\[909, 913, 911, 910, *833, 834]













































































Logical operators
\!────────────────────────────────────────────────────────────\~

Operator   Purpose
\!──────── \~  \!─────────────────────────────────────────────────\~
  ( )      Parentheses control the order of evaluation
 .NOT.     Negation (take the opposite of the result)
 .AND.     Both expressions must evaluate to True for the
             overall expression to evaluate to True
 .OR.      Only one of the expressions need be True for the
             overall expression to evaluate to True.

Logical operators are evaluated in the order: 1=(), 2=NOT,
3=AND, 4=OR. If multiple operators have the same precedence,
they are evaluated from left to right.
\!════════════════════════════════════════════════════════════\~
\#Arithmetic\~          \#Date\~          \#Relational\~          \#String\~
          \#Using help\~                        \#Help topics\~ 
\[909, 912, 911, 910, *833, 834]













































































Understanding expressions
\!────────────────────────────────────────────────────────────\~

An expression is a sequence of operations involving
functions, fieldnames, constant values, operators and script
variables. Alpha Four uses several types of expressions:

- Arithmetic: Evaluates to a numeric result, as in:
  5 + 8 - 3 = 10

- String: Evaluates to a character-string result, as in:
  "Alpha" + SPACE(1) + "Four" = "Alpha Four"

- Logical: Evaluates to a True/False result, as in:
  AGE > 21 = True
\#More...\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~       \#Functions\~       \#Operators\~
\[*915, 833, 834, 889, 909]













































































Forming expressions
\!────────────────────────────────────────────────────────────\~

An expression can contain up to 254 characters and can use
any valid Alpha Four functions.

While you are typing the expression, press F3 (Functions) to
see the list of Alpha Four functions. If you select a
function from the list that pops up, Alpha Four inserts it
into the expression.

If the field where you are defining the expression does not
have enough space to display the full 254 characters, press
F6 (Full window) to see the entire expression. To close the
window again, just press Enter.

\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~       \#Functions\~       \#Operators\~
\[*833, 834, 889, 909]













































































Using multi-line windows
\!────────────────────────────────────────────────────────────\~

Alpha Four can print and display lengthy fields, such as
memo fields, in "multi-line windows". A multi-line window
breaks the field into multiple lines of a specified length.

To print or display a field in a multi-line window, set the
field's \#"Window"\~ option to a value smaller than its \#"Length"
\~option, in the Formatting Options screen.

For example, to display a 300-character field in 6 lines,
leave the "Length" at 300 but set the "Window" to 50. Alpha
Four will display and print the field in 6 50-character
lines.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[147, 146, *833, 834]













































































\*134































































































Select the database to zoom to
\!────────────────────────────────────────────────────────────
\~Alpha Four is displaying a list of the component databases
and sub-sets in the current set to which you can zoom.

Select a database or set from the list by highlighting it,
or typing its name and then pressing Enter. Alpha Four
"zooms to", or selects, that database, and immediately
displays it.

If you specified a "Zoom form" or "Zoom table" in the set's
\#Link Parameters\~, that form or table is used. Otherwise,
Alpha Four uses the newly selected database's default form
or table. When you \#un-zoom\~, Alpha Four returns you to the
last record viewed or entered in the previous database.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[663, 58, *833, 834]













































































Enter search string
\!────────────────────────────────────────────────────────────\~

Enter the phrase to search for (the "search string") and
press Enter.

Do not enclose the search string in quotation marks.

The search is case-insensitive.

If you are searching for a blank space, type the space as
your search string. 




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*48































































































\*49































































































\*56































































































\*57































































































\*58































































































Locate options
\!────────────────────────────────────────────────────────────\~

- To continue searching, select "Next locate".

- To stop the search, select "eXit locate".

- To modify the current record, without stopping the search,
  select "Change". Edit the record and press F10 (Save).

- To view the memo field in which the search string was
  located, select Options, Memo field editor.

- To see the other options available during a search with\
  Locate a record, select Options.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*925































































































Enter the search and replacement strings
\!────────────────────────────────────────────────────────────\~

Enter the phrase to search for (the "search string") and
press Enter. Then enter the string with which to replace the
search string, and press Enter again.

Do not enclose the search string or the replacement string
in quotation marks.

The search is case-insensitive, but the replacement string
will be used exactly as you type it.

If you are searching for a blank space, type the space as
your search string. 

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Report Layout screen: Function Keys
\!────────────────────────────────────────────────────────────\~

Press F2 (Fields) to \#place fields\~, define \#calculated fields
\~and \#summary fields\~, and to modify \#field formats\~.

Press F3 (Sections) to add or delete\# report sections\~.

Press F7 (Goto) to switch to the \#Report Parameters\~, \#Grouping
Parameters\~, or \#Range and Print Settings\~ screens.

Press F9 (Line) to \#add\~, \#insert\~, \#delete\~, \#justify\~, and \#draw
lines\~.

Use the Delete key to delete a field from the layout.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[172, 174, 175, 176, 938, 168, 169, 143, 154, 152, 153, 156, 155, *833, 834]













































































Report Layout screen: Editing Keys
\!────────────────────────────────────────────────────────────\~
Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Left        Left by 1 character\@
\~Right       Right by 1 character\@
\~Up          Up 1 line\@
\~Down/Enter  Down 1 line\@
\~PgUp        Up 1 screen (previous page)\@
\~PgDn        Down 1 screen (next page)\@
\~Home        Beginning of current line\@
\~End         End of current line\@
\~Tab         Right by 8 characters\@
\~Shift-Tab   Left by 8 characters\@
\~Ctrl-Home   Top of report design\@
\~Ctrl-End    Bottom of report design\@
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Mail Labels Layout screen: Function Keys
\!────────────────────────────────────────────────────────────\~

Press F2 (Fields) to \#place fields\~, define \#calculated fields\~,
and to modify \#field formats\~.

Press F7 (Goto) to switch to the \#Label Parameters\~ or \#Range
and Print Settings\~ screens.

Press F9 (Line) to \#insert\~, \#delete\~, \#justify\~, and \#draw lines\~.

Use the Delete key to delete a field from the layout.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[172, 174, 176, 207, 143, 152, 153, 156, 155, *833, 834]













































































Mail Labels Layout screen: Editing Keys
\!────────────────────────────────────────────────────────────\~

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Left        Left by 1 character\@
\~Right       Right by 1 character\@
\~Up          Up 1 line\@
\~Down        Down 1 line\@
\~Enter       Beginning of next line\@
\~Home        Beginning of current line\@
\~End         End of current line\@
\~Ctrl-Home   Top of report design\@
\~Ctrl-End    Bottom of report design\@
\~

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Form Layout screen: Function Keys
\!────────────────────────────────────────────────────────────\~

Press F2 (Fields) to \#place fields\~, define \#calculated fields\~,
modify \#field formats\~, and define the \#prompt order\~.

Press F3 (Color) to \#change the foreground and background
color\~ of the entire form or a selection portion of the form.

Press F4 (Block) to \#move, copy, and delete blocks\~ of text 
and fields. 




\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[172, 174, 176, 266, 304, 263, 934, *833, 834]













































































Form Layout screen: Function Keys
\!────────────────────────────────────────────────────────────\~

Press F6 (Add Region) to \#add a region\~ (window) on the form
in which to display child records in a set with a
one-to-many link.

Press F7 (Goto) to switch to the \#Form Parameters\~ or \#Range
and Print Settings\~ screens.

Press F8 (Draw) to \#draw boxes\~ on the form. Press F9 (Line) 
to \#insert\~, \#delete\~, \#justify\~, and \#draw lines\~.

Use the Delete key to delete a field from the layout.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              


\[238, 242, 143, 261, 152, 153, 156, 155, *833, 834]











































































Form Layout screen: Editing Keys
\!────────────────────────────────────────────────────────────\~

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Left        Left by 1 character\@
\~Right       Right by 1 character\@
\~Up          Up 1 line\@
\~Down/Enter  Down 1 line\@
\~PgUp        Up 1 screen (previous page)\@
\~PgDn        Down 1 screen (next page)\@
\~Home        Beginning of current line\@
\~End         End of current line\@
\~

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[936, *833, 834]













































































Form Layout screen: Editing Keys
\!────────────────────────────────────────────────────────────\~

Key         Moves to:
\!─────────\~   \!────────────────────────────────────────────────\~
Tab         Select the next region
Shift-Tab   Select the previous region\@
\~Ctrl-Home   Top left of current page\@
\~Ctrl-End    Bottom left of current page
Ctrl-Left   Left by 8 characters
Ctrl-Right  Right by 8 characters
Backspace   Left 1 character, deleting that character



\@
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Browse Table Layout screen: Function Keys
\!────────────────────────────────────────────────────────────\~

Press F2 (Fields) to \#place fields\~, \#size fields\~, \#move fields\~,
define \#calculated fields\~, modify \#field formats\~, and
\#re-select all fields\~.

Press F7 (Goto) to switch to the \#Browse Parameters\~ or \#Range
and Print Settings\~ screens.

Use the Delete key to delete a field from the layout.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[172, 86, 87, 174, 176, 90, 91, 143, *833, 834]













































































Report Sections
\!────────────────────────────────────────────────────────────\~

Report Section      Purpose
\!────────────────\~    \!────────────────────────────────────────\~
Report Header       Appears once, at the beginning of the
                      report
Page Header         Appears at the top of each page
Titles              Appears at the top of each page, after
                      the Page Header
Group `n' Header    Appears before each `n'-level group
Detail              Appears once for each record in the
                      report
Group `n' Footer    Appears after each `n'-level group
Summary Section     Appears once, at the end of the report

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































System fields
\!────────────────────────────────────────────────────────────\~

System fields are automatically maintained by Alpha Four,
and contain information such as:

- The current date and time
- Whether the current record has been marked as deleted
- The name and description of the current primary index,
  database, and set
- The current record number
- The current color settings
- The current number of records printed

System fields are stored in the SYSTEM database. You can
place and format them like any other fields.
\!════════════════════════════════════════════════════════════\~
\#Using help\~              \#Help topics\~              \#Fieldnames\~
\[*833, 834, 940]













































































System fields: General purpose
\!────────────────────────────────────────────────────────────\~
Field         Purpose
\!───────────\~   \!──────────────────────────────────────────────\~
PAGENUMBER    (Reports, Forms only) Current page number
DATE          Current system date (set in DOS)
TIME          Current system time (set in DOS)
DELETED       Prints "Y" if record is marked as deleted
INDEX_NAME    Name of primary index used in printing
INDEX_DESC    Description of primary index used in printing
INDEX_EQN     Expression from primary index used in printing
DB_NAME       Name of layout's underlying database
DB_DESC       Description of layout's underlying database
SET_NAME      (Sets) Name of layout's underlying set
SET_DESC      (Sets) Description of layout's underlying set
REC_NUMBER    Record number of the currently printing record
\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~     \#Color registers\~     \#Counters\~
\[*833, 834, 941, 942]













































































System fields: Color registers
\!────────────────────────────────────────────────────────────\~

Color registers contain a code indicating the color that
various parts of the screen appear in, on color monitors:

Field         Purpose
\!───────────\~   \!──────────────────────────────────────────────\~
PROMPT_CLR    Alpha Four's prompts and fieldnames
DATA_CLR      Displayed data
ERROR_CLR     Error messages
HELP_CLR      Help prompts and windows
HEADER_CLR    Screen titles and rules
FOOTER_CLR    Status line
BAR_CLR       Moving bar
BORDER_CLR    Full border around perimeter of screen (CGA)
\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~     \#General purpose\~     \#Counters\~
\[*833, 834, 940, 942]













































































System fields: Counters
\!────────────────────────────────────────────────────────────\~

Counters contain the total number of records printed at a
particular point:

Field         Purpose
\!───────────\~   \!──────────────────────────────────────────────\~
CNTR_GRAND    Grand total of records printed

CNTR_PAGE     Number of records printed on current page

CNTR_GRPn     (Reports only) Number of records printed in
                Group `n' (where `n' = 1 to 9)


\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#General purpose\~   \#Color registers\~
\[*833, 834, 940, 941]













































































Selecting a field
\!────────────────────────────────────────────────────────────\~

The Fields pop-up box lists all of the fields stored in the
selected database (or in the current database, if the
Databases list does not appear).

Select a field by positioning the highlight over it or
typing the first few characters of the field name, and then
pressing Enter.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Prompting for user input while the letters are printing
\!────────────────────────────────────────────────────────────\~

When a form letter prints, you can make it pause at certain
points and wait for input from the keyboard.

For example, suppose you do not have a title field in your
database, and want to fill the title in when the letters
print. Since titles vary (e.g., Mr., Mrs., Ms.), you could
not include the title in the letter template.

Position the cursor where you want the prompted field to
appear and select F2, Prompted text field. In the "Prompted
field" box, enter the message to be displayed at print time,
such as "Mr., Mrs., or Ms. ?". When the user enters a title
and presses Enter, Alpha Four inserts it into the letter.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter an expression for the calculated field 
\!────────────────────────────────────────────────────────────\~

Enter the expression defining the calculated field.

The expression can involve other fields in the database or
set, as well as the SYSTEM database. You can also include
script variables in the expression.

Expressions can also use any Alpha Four function.






\!════════════════════════════════════════════════════════════\~
\#Using help\~  \#Help topics\~  \#Expressions\~  \#Functions\~  \#Operators\~  
\[*833, 834, 914, 889, 909]













































































Including an external file in the letter
\!────────────────────────────────────────────────────────────\~

You can incorporate an external file into the letter by
referencing it in the letter design.

This is useful when you want to use an existing file without
re-typing it, or when you are using a \#conditional\~ to
determine which file to include.

Position the cursor where you want the external file to
begin printing, and select F3, Include. Select or type the
filename; Alpha Four inserts it into the letter.

The external file must be in ASCII format (most word
processors can output to ASCII).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[280, *833, 834]













































































Inserting a formfeed into the letter
\!────────────────────────────────────────────────────────────\~

Use this command to insert page breaks into your letter.

Position the cursor where you want the page break to occur,
and select F3, Page eject. Alpha Four inserts the [.EJECT]
command into the letter design.

When you print the letters, Alpha Four will execute a
form-feed every time it encounters the eject command.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Wrapping text to the letter's defined width
\!────────────────────────────────────────────────────────────\~

Because lines expand when field values are inserted, the
printed letter will not look exactly like the letter design.

Unless you insert a hard return (by pressing Enter) at the
end of a line, Alpha Four extends each line to the letter's
defined \#width\~. Words may be split when a line breaks in two.

When you select F3, Enable auto fill, Alpha Four inserts the
[.FILL+] symbol into the letter design. Beginning from the
fill symbol, Alpha Four uses word wrapping to ensure that no
words are split at the end of a line.

You can enable and \#disable\~ auto fill as often as you like.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[951, 949, *833, 834]













































































Ending each line exactly as it appears in the layout
\!────────────────────────────────────────────────────────────\~

Use this to disable word wrapping in the letter. When you
select F3, Disable auto fill, Alpha Four inserts the
[.FILL-] symbol into the letter.

Beginning from the fill symbol, Alpha Four wraps each line
exactly to the letter's defined \#width\~, sometimes splitting
words at the end of a line.

Because lines expand when field values are inserted, the
printed letter will not look exactly like the letter design.

You can \#enable\~ and disable auto fill as often as you like.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[951, 948, *833, 834]













































































Inserting printer control codes into the letter
\!────────────────────────────────────────────────────────────\~

Use this command to insert decimal printer codes into your
letter design. When you print the letters, these codes are
sent to the printer to select special options. For example,
you can use control codes to select special fonts on your
printer.

To insert the codes into your letter, select F3, Control
codes. In the "Control codes" pop-up box, enter the
appropriate decimal codes and press Enter. Alpha Four
inserts the codes into the letter, prefixed with @.

The actual codes vary with the printer; refer to your
printer manual for assistance.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Defining the letter's width
\!────────────────────────────────────────────────────────────\~

This command lets you specify the width of your letter.
Alpha Four begins printing from the defined \#left margin\~, and
extends each line to the specified width.

To specify the width, position the cursor where you want the
new width to begin, and select F3, line Width. Enter the
desired width and press Enter.

You can change the width as often as you like within a
letter.

Be sure to use a width that, when combined with the left
margin, fits on the page.
\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~               \#Auto fill\~
\[159, *833, 834, 948]













































































Deleting a block of text and fields
\!────────────────────────────────────────────────────────────\~

Delete a block of text from the letter or memo. Position the
cursor at the beginning of the block, and select Copy.

Then use the cursor to mark the block, and press Enter to
"cut" the block from the screen. Alpha Four deletes the
block from the screen, pulling any lines below it up to
close the gap.

       \!┌─ \~Note \!────────────────────────────────────┐\~
       \!│\~ Alpha Four can only "remember" one block  \!│\~
       \!│\~ at a time, so be sure to replace the      \!│\~
       \!│\~ current block before starting on another. \!│\~
       \!└───────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~      \#Copy block\~      \#Insert block\~
\[*833, 834, 953, 954]













































































Copying a block of fields and text
\!────────────────────────────────────────────────────────────\~

Copy a block of text so you can Insert it elsewhere in the
letter or memo. Position the cursor at the beginning of the
block, and select Copy.

Then use the cursor to mark the block, and press Enter to
"cut" the block from the screen. Alpha Four stores a copy of
the block, leaving the original block in place.

       \!┌─ \~Note \!────────────────────────────────────┐\~
       \!│\~ Alpha Four can only "remember" one block  \!│\~
       \!│\~ at a time, so be sure to replace the      \!│\~
       \!│\~ current block before starting on another. \!│\~
       \!└───────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~    \#Help topics\~     \#Delete block\~      \#Insert block\~
\[*833, 834, 952, 954]













































































Inserting a block back into the letter
\!────────────────────────────────────────────────────────────\~

Insert the last-cut block into the letter or memo.

Position the cursor where you want the block to begin, and
select Insert. Alpha Four inserts the block at the indicated
location, pushing any lines below it down to make room.

       \!┌─ \~Note \!────────────────────────────────────┐\~
       \!│\~ Alpha Four can only "remember" one block  \!│\~
       \!│\~ at a time, so be sure to replace the      \!│\~
       \!│\~ current block before starting on another. \!│\~
       \!└───────────────────────────────────────────┘\~


\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~      \#Copy block\~      \#Delete block\~
\[*833, 834, 953, 952]













































































Letter Layout screen: Editing Keys
\!────────────────────────────────────────────────────────────\~
\!
\~Key   \!   \~Moves to:         
\!─────\~ \!   ───────────────────────────────────────────────────\~
Left  \!   \~Left by 1 character   
Right \!   \~Right by 1 character 
Up    \!   \~Up 1 line            
Down  \!   \~Down 1 line          
Enter \!   \~Ends current paragraph and moves down 1 line
PgUp     Up 22 lines          
PgDn     Down 22 lines        
Home     Beginning of current line    
End      End of current line  

\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*956, 833, 834]













































































Letter Layout screen: Editing keys (continued)
\!────────────────────────────────────────────────────────────\~

Key              Moves to:
\!─────────\~        \!───────────────────────────────────────────\~
Ctrl-Home        Upper left corner of screen
Ctrl-End         Lower right corner of screen
Ctrl-Left        Beginning of previous word
Ctrl-Right       Beginning of next word
Ctrl-PgUp        Beginning of letter
Ctrl-PgDn        End of letter
Ctrl-BackSpace   Deletes current line




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Letter Layout screen: Function Keys
\!────────────────────────────────────────────────────────────\~
Press F2 (Fields) to \#place fields\~, define \#prompted text
fields\~, and to define \#calculated fields\~.

Press F3 (Commands) for inserting print commands to \#include
an external file\~ in the letter, \#insert a formfeed\~, \#enable or
disable auto fill\~, \#insert printer control codes\~ into the
letter, define a \#top margin\~, \#bottom margin\~, or \#left margin\~,
and for defining the \#width of the letter\~.

Press F4 (Block) to \#delete\~, \#copy\~, and \#insert\~ blocks of
fields and text. 

Press F7 (Conditional) to build conditional (IF-THEN)
expressions.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[282, 944, 283, 946, 947, 948, 950, 160, 161, 159, 951, 952, 953, 954, *833, 834]













































































Sample form letter
\!────────────────────────────────────────────────────────────\~
[.WIDTH 76] [.FILL+]
[FIRSTNAME] [LASTNAME]
[ADDRESS1]
[ADDRESS2.-]
[CITY], [STATE] [ZIP]

Dear [?Mr, Mrs, or Ms]. [LASTNAME],

Our firm worked [HOURS] on your case, at the rate of
[PRICE.$] per hour. As of [END_DATE], your balance due is
[{PRICE * QTY}.$]. Please note that balances paid in full by
[DUE_DATE] will not be subject to a finance charge.

Enclosed please find an itemized invoice. [.EJECT]
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selecting a database
\!────────────────────────────────────────────────────────────\~
The Databases pop-up box lists the available databases (the
current database, or if you are using a set, all of the
databases in the set).

Select a database by positioning the highlight over it or
typing the first few characters of the database name, and
then pressing Enter.

Depending upon the current operation, up to three additional
databases may appear in this pop-up box. The SYSTEM,
SUMMARY, and CALCULATED databases are created and maintained
by Alpha Four. You can select any of those fields, as well
as fields from the databases that you have created.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Uppercase conversion
\!────────────────────────────────────────────────────────────\~

Convert the entire field to uppercase letters:

     \!   ┌─────────────────────────────────────────┐\~
        \!│\~ Alpha Four is powerful, yet easy to use \!│\~
        \!│\~             \!  \~-\! \~becomes\! \~-\!               │\~
        \!│\~ ALPHA FOUR IS POWERFUL, YET EASY TO USE \!│\~
\! \~       \!└─────────────────────────────────────────┘\~






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Lowercase conversion
\!────────────────────────────────────────────────────────────\~

Convert the entire field to lowercase letters:

     \!   ┌─────────────────────────────────────────┐
\~        \!│\~ Alpha Four is powerful, yet easy to use \!│\~
        \!│\~             \!  \~-\! \~becomes\! \~-\!               │\~
        \!│\~ alpha four is powerful, yet easy to use \!│\~
\! \~       \!└─────────────────────────────────────────┘
\~





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































First character conversion
\!────────────────────────────────────────────────────────────\~

Convert the first character of the field to uppercase, and
leave the rest of the field alone:

     \!   ┌─────────────────────────────────────────┐
\~        \!│\~ alpha four is powerful, yet easy to use \!│\~
        \!│\~             \!  \~-\! \~becomes\! \~-\!               │\~
        \!│\~ Alpha four is powerful, yet easy to use \!│\~
\! \~       \!└─────────────────────────────────────────┘
\~
If you want the rest of the field converted to lowercase at
the same time, use X (Lower & first).


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Word conversion
\!────────────────────────────────────────────────────────────\~

Convert the first character of each word to uppercase,
leaving the rest of the field alone:

     \!   ┌─────────────────────────────────────────┐
\~        \!│\~ Alpha Four is powerful, yet easy to use \!│\~
        \!│\~             \!  \~-\! \~becomes\! \~-\!               │\~
        \!│\~ Alpha Four Is Powerful, Yet Easy To Use \!│\~
\! \~       \!└─────────────────────────────────────────┘
\~
If you want the rest of the field converted to lowercase at
the same time, use Z (Lower & word).


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































X (Lower & first)
\!────────────────────────────────────────────────────────────\~

Convert the first character of the field to uppercase, and
then convert the rest of the field to lowercase:

     \!   ┌─────────────────────────────────────────┐
\~        \!│\~ Alpha Four is powerful, yet easy to use \!│\~
        \!│\~             \!  \~-\! \~becomes\! \~-\!               │\~
        \!│\~ Alpha four is powerful, yet easy to use \!│\~
\! \~       \!└─────────────────────────────────────────┘
\~




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Z (Lower & word)
\!────────────────────────────────────────────────────────────\~

Convert the field to lowercase, with the first letter of
each word in uppercase:

     \!   ┌─────────────────────────────────────────┐
\~        \!│\~ Alpha Four is POWERFUL, yet easy to use \!│\~
        \!│\~             \!  \~-\! \~becomes\! \~-\!               │\~
        \!│\~ Alpha Four Is Powerful, Yet Easy To Use \!│\~
\! \~       \!└─────────────────────────────────────────┘
\~




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Updating a field's value
\!────────────────────────────────────────────────────────────\~

Update the values in one or more fields in every record in
the specified \#range\~.

You'll select the field(s) in the next step, and then enter
the update value(s) or expression(s). The values (or the
values resulting from the expression) will be inserted into
the selected fields.

For example, you could discount every PRICE field by 10%
with the expression:
                        PRICE * .9
                        \!───────────\~

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, *833, 834]













































































Changing the case of a character field
\!────────────────────────────────────────────────────────────\~

Change the case of character fields. For example, you could
change all of the values in a STATE field to uppercase
letters, or the COMPANY name field to a leading capital
letter, followed by lowercase letters.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Deleting a range of records
\!────────────────────────────────────────────────────────────\~

Mark a \#range\~ of records as \#deleted\~. The marked records are
not removed from the database until the database is \#packed\~. 











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, 48, 630, *833, 834]













































































Undeleting a range of records
\!────────────────────────────────────────────────────────────\~

Unmark (\#undelete\~) a \#range\~ of records. This command removes
the delete marker from all of the records in the range. 

If you have already packed the database, records cannot be
undeleted. 








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[49, 345, *833, 834]













































































Deleting duplicate records
\!────────────────────────────────────────────────────────────\~

Mark duplicate records as \#deleted\~. The first occurrence of 
each \#index key value\~ is considered unique. If another record
contains the same index key, it is considered a duplicate.

For example, LASTNAME is the \#primary index\~ used below. The
second and third records contain non-unique index keys
("Mitchell" is duplicated). These two records will be marked
as deleted. Use the Pack command to remove deleted records.
 \!┌────────────────────────────────────────────────────────┐
\~ \!│\~ Bill  Mitchell   304 Circle Avenue   Newton   MA 02156 \!│\~
 \!│\~ Jane  Mitchell   54 Hill Boulevard   Sudbury  MA 01776 \!│\~
 \!│\~ John  Mitchell   8 Crescent Street   Weston   MA 01774 \!│\~
 \!└────────────────────────────────────────────────────────┘
════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[48, 363, 973, *833, 834]













































































Enter the update expression
\!────────────────────────────────────────────────────────────\~

Enter the \#expression\~ to be used for updating the specified
field.

Alpha Four will evaluate this expression for each record in
the specified range, inserting the resulting value into the
selected field. Be sure that the expression evaluates to the
same data type as the field.

For example, you could increase every employee's salary by
10%, using this expression:

                      (SALARY * 1.1)
                      \!──────────────\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Functions\~    \#Operators\~   \#Examples\~
\[914, *833, 834, 889, 909, 1028]













































































The primary index
\!────────────────────────────────────────────────────────────\~

Although you can create many \#indexes\~, only one (the "primary
index") can be active at a time. The primary index controls
the order in which records are retrieved from the current
database.

To retrieve the records in a different order, select a new
primary index from the list of \#attached\~ indexes that Alpha
Four displays.

The "Record Number" index represents the physical order in
which records were added to the database. The \#"Search/sort"
\~index lists the record numbers of those records that were
retrieved by the most recent search/sort.
\!════════════════════════════════════════════════════════════\~
\#Using help\~     \#Help topics\~    \#Index keys\~    \#Creating indexes\~
\[1027, 977, 5, *833, 834, 363, 974]













































































Creating an index
\!────────────────────────────────────────────────────────────\~

Create a new \#index\~ for the current database. Alpha Four can
maintain up to 15 indexes at a time, not counting the Record
Number and Search/sort list indexes.

If 15 indexes are already \#attached\~ to the database, you must
\#detach\~ one of them before creating the new index.

\! ┌─\~ Warning \!─────────────────────────────────────────────┐
\~ \!│\~ Indexes belong to individual databases, and cannot    \!│\~
 \!│\~ be shared. Create separate indexes for each database, \!│\~
 \!│\~ even if two or more databases use common fieldnames.  \!│\~
 \!└───────────────────────────────────────────────────────┘
\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, 977, 978, *833, 834]













































































Erasing an index
\!────────────────────────────────────────────────────────────\~

Erase an existing \#index\~.

An index must be \#attached\~ to the database before it can be
erased.

          \!   ┌─ \~Warning\! ──────────────────────┐
\~             \!│\~ Once an index has been erased, \!│\~
             \!│\~ it cannot be recovered.        \!│\~
      \!   \~    \!└────────────────────────────────┘
\~



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, 977, *833, 834]













































































Updating indexes
\!────────────────────────────────────────────────────────────\~

Re-build the \#indexes\~ that are attached to the current
database. You can choose whether to update a particular
index, or all of the attached indexes.

This command is also useful for viewing or modifying a
particular index expression. If you choose to update all of
your indexes, you cannot edit their index expressions.

   \! \~ \! \~   \!┌─\~ Note \!─────────────────────────────────┐
\~         \!│\~ If you detached an index file and then \!│\~
         \!│\~ modified the database, you MUST update \!│\~
         \!│\~ the index when you next attach it.     \!│\~
         \!└────────────────────────────────────────┘
════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, *833, 834]













































































Attaching an index
\!────────────────────────────────────────────────────────────\~

Each database can have up to 15 \#indexes\~ attached at once,
not counting the Record Number and Search/sort list indexes.
Only the attached indexes are automatically updated to
reflect changes in the associated database or set. 

The first time you use a dBASE III or AlphaWorks database in
Alpha Four, you must attach its indexes.

  \!  \~ \! ┌─\~ Warning \!────────────────────────────────────┐
\~      \!│\~ Indexes belong to individual databases,      \!│\~
      \!│\~ and cannot be shared. Do not attach an index \!│\~
      \!│\~ that was created for another database.       \!│\~
      \!└──────────────────────────────────────────────┘
════════════════════════════════════════════════════════════\~
\#Using help\~            \#Help topics\~            \#Detach an index\~
\[1027, *833, 834, 978]













































































Detaching an index
\!────────────────────────────────────────────────────────────\~

Detach one of the \#indexes\~ that are \#attached\~ to the current
database or set.

Only 15 indexes can be attached to the database at once (not
counting the Record Number and Search/sort list indexes).
Before you can attach another index (or create another
index), you must detach one of the 15 indexes that are
alredy attached. You cannot detach the Record Number index
or the Search/sort list.

Alpha Four displays the list of attached indexes. Select one
either by highlighting it and pressing Enter, or by typing
the appropriate letter.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, 977, *833, 834]













































































\*345































































































Erasing a range
\!────────────────────────────────────────────────────────────\~

Erase a saved range.

           \!   ┌─ \~Warning\! ─────────────────────┐
\~              \!│\~ Once a range has been erased, \!│\~
              \!│\~ it cannot be recovered.       \!│\~
       \!   \~    \!└───────────────────────────────┘
\~






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Allowing duplicate index keys to be added to the database
\!────────────────────────────────────────────────────────────\~

Specify whether to allow duplicate \#index keys\~ in this index:

- All: Accepts all records, regardless of the index key.

- Unique: Prevents you from entering a record with the same
  index key as an existing record.  (Useful for preventing
  duplicate account numbers, social security numbers, etc.).

- Unique with exceptions: Warns you when you enter a record
  containing a duplicate index key, but permits you to over-
  ride the restriction (for example, duplicate names are
  fairly common).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, *833, 834]













































































Building an index using unique index keys
\!────────────────────────────────────────────────────────────\~

Specify whether to create the index using all or only unique
\#index keys\~.

- All: Builds the index file using index key values from all
  records.

- Unique keys only: Builds the index file using only index
  key values that are unique.  Duplicate values from the
  indexed field are not included.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, *833, 834]













































































Making the index case sensitive
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want the index to be case sensitive. For
example, if the index is LASTNAME, a case-sensitive index
will treat "Smith", "SMITH", and "smith" as DIFFERENT \#index
keys\~.

If you select "No", the index will be case insensitive, and
"Smith", "SMITH", and "smith" will be treated as the SAME
key.

If you want to use this index with dBASE or AlphaWorks, you
MUST select "Yes" because their indexes are case sensitive.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, *833, 834]













































































Enter the name of the field to be indexed
\!────────────────────────────────────────────────────────────\~

Enter the fieldname on which the index is to be based. For
example, if you are indexing by last names, enter LASTNAME.

If you are indexing on multiple levels, enter the fields in
order of importance. The table below orders records first by
LASTNAME, and within duplicate last names, by FIRSTNAME:

       \!  \~ \! ┌─────────────────────────────────────┐\~
           \!│\~ Level     Field           Direction \!│\~
           \!│\~ \!───────────────────────────────────\~ \!│\~
           \!│\~   1       LASTNAME            A     \!│\~
           \!│\~   2       FIRSTNAME           A     \!│\~
           \!└─────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~               \#Direction\~
\[*833, 834, 985]













































































Enter the direction in which to order records
\!────────────────────────────────────────────────────────────\~

Alpha Four can index the records in ascending (small to
large) or descending (large to small) order. Enter "A" for
ascending and "D" for descending.

The order is only important when you want to create a
mixed-order sort, for example, ordering an employee database
in ascending order by department, and within each
department, in descending order by salary.

You should generally set the Level 1 component to ascending
order. If you want to retrieve records in descending order,
set "Order" to "Descending" in the \#range settings\~. This lets
you access records in any order without affecting the index.
\!════════════════════════════════════════════════════════════\~
\#Using help\~               \#Help topics\~               \#Fieldname\~
\[345, *833, 834, 984]













































































Enter the index expression
\!────────────────────────────────────────────────────────────\~

Enter (or edit) the \#expression\~ on which the index will be
based. If you originally defined the index in Table mode,
Alpha Four displays the expression derived from your Index
Table. For example, if your Index Table contained:
       \!  \~ \! ┌─────────────────────────────────────┐\~
           \!│\~ Level     Field           Direction \!│\~
           \!│\~ \!───────────────────────────────────\~ \!│\~
           \!│\~   1       LASTNAME            A     \!│\~
           \!│\~   2       FIRSTNAME           A     \!│\~
           \!└─────────────────────────────────────┘\~
the corresponding index expression is: LASTNAME + FIRSTNAME.
At this point, you might want to insert the TRIM() function
to strip trailing blanks from LASTNAME: TRIM(LASTNAME).
\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Functions\~   \#Operators\~   \#Examples\~
\[914, *833, 834, 889, 909, 1025]













































































Select a field
\!────────────────────────────────────────────────────────────\~

Select a field by highlighting it or typing the first few
characters of the fieldname, and then pressing Enter. Alpha
Four enters the selected fieldname into the "Field" column
in the Index Table. The index will be based upon the
selected field.

For example, if you select LASTNAME, the index will order
records by LASTNAME.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erasing a range 
\!────────────────────────────────────────────────────────────\~

Select the range to erase either by highlighting it and
pressing Enter, or by typing the corresponding letter.

The 0-Default and 1-Current ranges are not included in this
list because they cannot be erased.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































\*1031







































































Reconfiguring the current database
\!────────────────────────────────────────────────────────────\~

Modify the structure of the current database (add, delete,
or re-order fields; change field names, types, and field
sizes). Alpha Four copies your changes back into this
database, rather than creating a new database.

Alpha Four stores the modified database to disk before
erasing the original, so there must be at least as much disk
space available as the current database uses.

If you want to create a reconfigured COPY of the current
database, or if you do not have enough disk space to
reconfigure the current database, use the \#reconfigure to New
database\~ command.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[991, *833, 834]













































































Reconfiguring to a new database
\!────────────────────────────────────────────────────────────\~

Modify the structure of the current database (add, delete,
or re-order fields; change field names, types, and field
sizes). Alpha Four creates a new database using the new
structure, and leaves the original database intact.

This is useful when you do not have the disk space to modify
the current database. Depending upon the size of the
database, you may be able to reconfigure it to a new
database on a floppy disk.

If you reconfigure to a floppy disk, be sure to include the
drive name (A:) with the new database name.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Warning: Data will be lost when fields are truncated
\!────────────────────────────────────────────────────────────\~

When you decrease the size of a field, Alpha Four
"truncates" the field to meet the new size.

Truncating involves dropping all data after the specified
length. For example, if you decrease the COMPANY field from 
25 to 15 characters, everything past the 15th character will
be dropped. This may result in the loss of data, since there
is no way to restore the truncated fields after you
reconfigure the database.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Creating and editing field rules
\!────────────────────────────────────────────────────────────\~

Create or edit a system of field rules for the current
database or set. 

You can define rules for any, or all, of the fields in the
current database (or the primary database of the current
set). Rules can even involve other fields in the same
database or set.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Re-evaluating field rules
\!────────────────────────────────────────────────────────────\~

Re-apply the field rules to each record in the current
database or set. This is useful if you change one or more
rules after you have entered record into the database or
set.

When you re-evaluate the rules, you can choose whether to
\#mark as deleted\~ those records that violate masks, required
rules, or validation rules. If so, Alpha Four will mark the
records, but will not physically delete them until you \#pack
\~the database.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[48, 630, *833, 834]













































































Erasing field rules
\!────────────────────────────────────────────────────────────\~

Erase ALL of the field rules defined for the current
database or set.

         \!   ┌─ \~Warning\! ─────────────────────────┐
\~            \!│\~ Once field rules have been        \!│\~
            \!│\~ erased, they cannot be recovered. \!│\~
     \!   \~    \!└───────────────────────────────────┘
\~
To erase only a particular rule, edit the rules for that
field and re-set the appropriate rule.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Moving a field
\!────────────────────────────────────────────────────────────\~

Move the currently marked field to a new position.

Use Up and Down to move the arrow to the field's new
position, and press Enter. Alpha Four inserts the field in
front of the marked position, re-arranging the remaining
fields accordingly.

To cancel the move, press Esc BEFORE you complete the move
by pressing Enter. You can move a field as often as you
like, anywhere in the database structure.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter a fieldname 
\!────────────────────────────────────────────────────────────\~

Enter the name for the new field.

Fieldnames can be from 1 to 10 characters, consisting of
letters, numbers, and underscores (_). The fieldname must
begin with a letter.

The field's name should describe the field's purpose, for
example, call the last name field LASTNAME and the invoice
total field INV_TOTAL.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Alpha Four field types
\!────────────────────────────────────────────────────────────\~

Enter the letter representing the field's type:

- C: Character (accepts any characters)

- N: Numeric (numbers, a negative sign, and a decimal point)

- D: Date (10-character dates: MM-DD-YYYY)

- L: Logical (1 character: T/t/F/f/Y/y/N/n)

- M: Memo (up to 5000 characters)


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the Field's length
\!────────────────────────────────────────────────────────────\~

Enter the length (width, size) of the current field, bearing
in mind the size limitations for each type:

- Character: 254
- Numeric: 19 (includes the negative sign, decimal point,
  and any decimal places)
- Date: 8 (automatically assigned by Alpha Four)
- Logical: 1 (automatically assigned by Alpha Four)
- Memo: 10 (automatically assigned by Alpha Four, this is
  only the pointer that enables Alpha Four to access the
  externally stored memo field)


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Enter the number of decimal places to be used with the field
\!────────────────────────────────────────────────────────────\~

For numeric fields only, enter the number of decimal places
to be used for the field.

Numbers can have up to 14 decimal places. Both the decimal
place and the decimal point (as well as the negative sign,
if any) contribute to the field's overall \#length\~ (a maximum
of 19 characters).

For example, the number -536.924 has a length of 8.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[999, *833, 834]













































































Specify the linked database or set
\!────────────────────────────────────────────────────────────\~

Enter the name of the \#child\~ database or sub-set to be
attached at the current link. You can enter a drive/path
specification, if necessary.

The child database, or the primary database of the sub-set,
must be \#indexed\~ on the field (or expression) that it has in
common with its \#parent\~ database.

Press F2 (Database Directory) to see the list of databases
and sets).



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1018, 1027, 1018, *833, 834]













































































Specify the linking index 
\!────────────────────────────────────────────────────────────\~

Enter the name of the newly linked database's \#index\~. The
linking index MUST be based upon the field or expression
that this database has in common with its \#parent\~.

The common fields do not have to use the same name in both
databases. For example, an invoice number field could be
called INV_NUMB in one database and INV_NO in the other.

Press F2 (Index List) to see the indexes for the new
database.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1027, 1018, *833, 834]













































































Link modes (types)
\!────────────────────────────────────────────────────────────\~

For each record in the \#parent\~ database, specify which
record(s) should be retrieved from the \#child\~ database:

- All: All of the matching records (i.e., a "one-to-many"
  link)

- First: The first matching record

- Last: The last matching record

- Closest: The closest matching record

Records "match" when they contain the same \#index key\~.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1018, 1018, 363, *833, 834]













































































Common field or expression
\!────────────────────────────────────────────────────────────\~

Enter the fieldname or expression that the \#parent\~ database
has in common with the \#child\~. This is generally the field or
expression on which the \#linking index\~ is based.

If the parent and child databases use different names for
common fields, enter the names as they appear in the PARENT.
For example, if the linking index is based upon the child
database's INV_NUMB field, and the matching field in the
parent is called INV_NO, enter "INV_NO".

Press F2 (Fields) to see the fields in the parent database.
Press F3 (Functions) to see the list of valid functions.

\!════════════════════════════════════════════════════════════\~
\#Using help\~      \#Help topics\~      \#Expressions\~       \#Functions\~
\[1018, 1018, 1002, *833, 834, 914, 889]













































































Include parent if?
\!────────────────────────────────────────────────────────────\~

For a given \#parent\~ record, the \#child\~ database may not
contain any matching records. Given this situation, specify
whether to retrieve the parent record:

- Always: Always, regardless of whether the child database
  contains matching records

- Has related child: Only when the child database contains
  one or more matching records for the current parent record

- Has no related child: Only when the child does NOT contain
  any matching records for the current parent record.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1018, 1018, *833, 834]













































































Select a show mode
\!────────────────────────────────────────────────────────────\~

Specify which records should be retrieved from the link's
\#child\~ database, based upon the deletion status:

- All: Retrieve all of the records in the child database,
  regardless of the deletion status

- Deleted: Retrieve only those records from the child
  database that are marked as \#deleted\~

- Not deleted: Retrieve only those records from the child
  database that are NOT marked as deleted.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1018, 48, *833, 834]













































































Enter a filter expression
\!────────────────────────────────────────────────────────────\~

The filter is an \#expression\~ used to ensure that the Alpha
Four retrieves from the child database only those records
satisfying the stated criteria.

For example, the filter PART_NO > "P1005" will allow Alpha
Four to retrieve only the records for part numbers greater
than P1005.

Press F2 (Fields) to display the available databases, and
then the available fields for the selected database. Press
F3 (Functions) to see the available functions. Press F6
(Window on) to display the full filter expression window.

\!════════════════════════════════════════════════════════════\~
\#Using help\~        \#Help topics\~       \#Functions\~      \#Operators\~
\[914, *833, 834, 889, 909]













































































Select a filter mode
\!────────────────────────────────────────────────────────────\~

The filter mode controls whether Alpha Four uses or ignores
the filter expression defined above. Select "Active" if you
want the filter to be used in determining which records
should be retrieved from the link's \#child\~ database.

Select "Inactive" if you want to disable the filter
expression without actually deleting it from the Link
Parameters screen. When a filter is inactive, Alpha Four
ignores it, and uses only the remaining link parameters to
determine which records to retrieve.

You can re-activate an inactive filter at any time, simply
by re-setting the filter mode to "Active".
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1018, *833, 834]













































































Specify which form to use with the child database
\!────────────────────────────────────────────────────────────\~

If you have created a custom \#form\~ for the link's \#child
\~database, you may want to automatically use the custom form
when you \#zoom\~ to that database.

Enter the letter Id of the form that you want to specify as
the default. When you zoom to that database, you can select
a different form if you wish.

If you omit this parameter, Alpha Four uses the database's
default form.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[883, 1018, 57, *833, 834]













































































Specify which browse table to use with the child database
\!────────────────────────────────────────────────────────────\~

If you have created a custom \#browse table\~ for the link's
\#child\~ database, you may want to automatically use the custom
table when you \#zoom\~ to that database.

Enter the letter Id of the browse table that you want to
specify as the default. When you zoom to that database, you
can select a different browse table if you wish.

If you omit this parameter, Alpha Four uses the database's
default browse table.



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[884, 1018, 57, *833, 834]













































































Changing the name of a database or set
\!────────────────────────────────────────────────────────────\~

Change the name of the current database or set.

Enter the new name, using up to 8 characters, including
letters, numbers, hyphens (-), and underscores (_).

The name must be unique. Alpha Four displays the existing
database and set names so you can see which names have
already been used.

 \!   ┌─ \~Note\! ─────────────────────────────────────────┐
\~    \!│\~ A database and a set cannot use the same name. \!│\~
    \!└────────────────────────────────────────────────┘
\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Changing the description or password of a database or set
\!────────────────────────────────────────────────────────────\~

Edit the description or the password for the current
database or set.

Alpha Four displays the current description. Make your
changes, and press F10 (Continue) to save the new
description.

To enter or change the password for the current database or
set, press F9 (Password) and Alpha Four displays the Enter P
Password window. Enter up to eight alphanumeric characters
for the password. Re-enter the same password to confirm it.


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Update index?
\!────────────────────────────────────────────────────────────\~

Select "Yes" if you want to update the index being attached
to the current database. Alpha Four will re-build the index
to reflect the database's current state.

If you have edited the database since you detached the
index, you should select "Yes" to ensure that the index will
be up-to-date.

If you select "No", the index will not be updated, and may
be obsolete. If you encounter any problems or error messages
when you use the index, use the Indexes/Ranges, Update
indexes command to update the index.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the Field Selection screen
\!────────────────────────────────────────────────────────────\~

Select the fields to appear in the result database, and
press F10 (Continue).

Select a field by highlighting it and pressing Enter.
De-select a field by selecting it a second time. Press F3
(Select All) to quickly select all of the fields.

 \!┌─ \~Notes \!────────────────────────────────────────────────┐\~
 \!│\~ - Select at least 1 field (from either database)       \!│\~
 \!│\~ - You cannot select more than 128 fields total.        \!│\~
 \!│\~ - Alpha Four automatically changes duplicate           \!│\~
 \!│\~   fieldnames to avoid conflict in the result database. \!│\~
 \!└────────────────────────────────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Example of a search table using 3 criteria
\!────────────────────────────────────────────────────────────\~

This table locates records for customers who live in either
Massachusetts OR California AND owe more than 250.00:
  \!┌───────────────────────────────────────────────────────┐\~
  \!│\~ Field                 Op.  Search for What?    And/Or \!│\~
  \!│\~ \!─────────────────────────────────────────────────────\~ \!│\~
  \!│\~ RECEIVBL->STATE       =    MA                  OR     \!│\~
  \!│\~ RECEIVBL->STATE       =    CA                  AND    \!│\~
  \!│\~ RECEIVBL->AMOUNT_DUE  >    250.00                     \!│\~
  \!└───────────────────────────────────────────────────────┘\~
The criteria first test the STATE field for MA or CA, and
then test those records for AMOUNT_DUE>250.00. For complex
search criteria, a \#search expression\~ gives you more control
over the order in which criteria are evaluated.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[652, *833, 834]













































































Examples of search expressions
\!────────────────────────────────────────────────────────────\~
This expression locates records for customers who live in
either Massachusetts OR California AND owe more than 250.00:

   (STATE="MA" .OR. STATE="CA") .AND. AMOUNT_DUE > 250.00
   \!──────────────────────────────────────────────────────\~

This expression locates records for either customers who
live in Massachusetts AND owe more than 250.00, OR customers
from California (no matter what they owe):

   (STATE="MA" .AND. AMOUNT_DUE > 250.00) .OR. STATE="CA"
   \!──────────────────────────────────────────────────────\~

The criteria enclosed in parentheses are processed first. 
\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~             \#More examples\~
\[*833, 834, 1017]













































































Examples of search expressions
\!────────────────────────────────────────────────────────────\~

This expression locates records containing "soft" anywhere
in the COMPANY field. The LOWER function makes the search
case insensitive:
                  "soft" $ LOWER(COMPANY)
                  \!───────────────────────\~

This expression locates invoices shipped before 12/12/88 by
searching for records whose SHIPDATE field contains a value
less than that date. The CTOD function is needed to convert
the character string "12/12/88" to a date value:

                SHIPDATE < CTOD("12/12/88")
                \!───────────────────────────\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































What are "parent" and "child" databases?
\!────────────────────────────────────────────────────────────\~

At each link within the set, the top-most database is called
the "parent", and the database that is attached to it is
called its "child". 

For example, in the set shown below, the INV_HEAD database
has two children: CUSTOMER and LINEITEM. LINEITEM in turn is
a parent to PARTS.
              \!┌────────────────────────────┐\~
              \!│\~    INV_HEAD                \!│\~
              \!│\~     ├───── CUSTOMER        \!│\~
              \!│\~     ╘═════ LINEITEM        \!│\~
              \!│\~            └───── PARTS    \!│\~
              \!└────────────────────────────┘\~
\!════════════════════════════════════════════════════════════\~
\#Using help\~          \#Help topics\~           \#Retrieving records\~
\[*833, 834, 1019]













































































Retrieving records at a particular link within the set
\!────────────────────────────────────────────────────────────\~

First, Alpha Four retrieves records from the \#parent
\~database. Then, for each parent record, Alpha Four retrieves
the matching record(s) from the \#child\~ database.

The fields from the parent and child are grouped together in
a "composite record". The figure below shows the fields in
the composite record for the INV_HEAD-to-LINEITEM link.

      \!┌────────────────────────────────────────────┐\~
      \!│\~ ┌───INV_HEAD────┐  ┌───────LINEITEM──────┐ \!│\~
      \!│\~ Inv_num  Inv_date  Line_num  Part_num  Qty \!│\~
      \!└────────────────────────────────────────────┘\~
\#More...\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1018, 1018, *1020, 833, 834]













































































Retrieving records at a particular link (continued)
\!────────────────────────────────────────────────────────────\~

At the INV_HEAD-to-LINEITEM link, the composite record
contains fields from:

- INV_HEAD (the parent)
- LINEITEM (the child).

If there are no matching child records for a particular
parent record, the corresponding child fields are left blank
in the composite record.

Child records for which the parent has no match are not
retrieved.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Using the Link Parameters screen
\!────────────────────────────────────────────────────────────\~

Use Up and Down to highlight the link for which you want to
edit the parameters.

Then press F9 (Switch windows) to move into the lower
window, where you can edit the link parameters.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Selecting an index
\!────────────────────────────────────────────────────────────\~

Select an index either by highlighting it and pressing
Enter, or by typing the corresponding letter.

Alpha Four displays only the indexes that are \#attached\~ to
the current database or set. To access an un-attached index,
you must first attach it.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[977, *833, 834]













































































Attach which index?
\!────────────────────────────────────────────────────────────\~

Select the index to attach by highlighting it and pressing
Enter, or by typing the name and pressing Enter.

You can only attach an index that is stored in the same
directory as the database, so you cannot change drives or
specify a path with the index name.

Be sure to select an index that was created for the current
database, since indexes cannot be shared.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Index description
\!────────────────────────────────────────────────────────────\~

Enter a description for the index, so it will be easy to
identify.

When you select an index, Alpha Four will display each
index's description. If you omit the description, Alpha Four
will display the index expression instead.

If the index is based upon a simple expression (i.e.,
LASTNAME), a description is not necessary. If the expression
is complex, a description will help users to understand what
the index is doing. For example, if the expression is
TRIM(LASTNAME)+SPACE(1)+TRIM(FIRSTNAME), the description
"Lastname Firstname [with 1 space]" would be helpful.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Sample index expressions
\!────────────────────────────────────────────────────────────\~
- This expression orders records first by LASTNAME and
  within duplicate last names, by FIRSTNAME. The TRIM()
  function removes the trailing blanks from the last name;
  the SPACE(1) function inserts 1 blank space between names:

           TRIM(LASTNAME) + SPACE(1) + FIRSTNAME
           \!─────────────────────────────────────\~
- This expression orders records first by DEPARTMENT, and
  within DEPARTMENT, by HIREDATE. The TRIM() function
  removes trailing blanks from the department name. The
  CDATE() function converts HIREDATE to a character value so
  that both fields can be used in the same expression:

             TRIM(DEPARTMENT) + CDATE(HIREDATE)
\!════════════════════════════════════════════════════════════\~
\#Using help\~             \#Help topics\~             \#More examples\~
\[*833, 834, 1026]













































































Sample index expressions
\!────────────────────────────────────────────────────────────\~
- This expression orders records by the second word in the
  NAME field (i.e., the last name):

                        WORD(NAME,2)
                        \!────────────\~
- This expression orders records first by DEPARTMENT name
  and within department, in reverse order by salary. The
  TRIM() function strips trailing blanks from the department
  name. The INVERT() function orders the salaries in
  descending order, and the STR() function converts the
  numeric salary to a 10-character string, retaining the
  decimal point and the 2 decimal places:

        TRIM(DEPARTMENT) + STR(INVERT(SALARY),10,2)
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































What is an index?
\!────────────────────────────────────────────────────────────\~

An "index" is a table that contains \#"keys"\~ representing
every record in the database. Alpha Four uses the index to
order the records in the current database.

The index does not physically "sort" the database, it just
controls the order in which you access those records. You
can create more than one index, but only one can be active
at a time (this is called the \#"primary index"\~).

For example, if you index a database on the ZIP_CODE field
and select that as the primary index, Alpha Four retrieves
records in zip code order. Each zip code is therefore an
index key.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[363, 973, *833, 834]













































































Sample update expressions
\!────────────────────────────────────────────────────────────\~

- This expression replaces the value in every TERMS field
  with "C.O.D." (quotes are required for character strings):

                         "C.O.D."
                         \!────────\~

- This expression increases the SALARY field by 15% if the
  REVIEW field contains "A"; if REVIEW contains anything but
  "A", SALARY is increased by only 10%. The TRIM function
  strips any trailing spaces from the REVIEW field:

       IF(TRIM(REVIEW)="A", SALARY*1.15, SALARY*1.1)
       \!─────────────────────────────────────────────\~
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Index Creation screen
\!────────────────────────────────────────────────────────────\~
Alpha Four provides two methods for defining an index. Table
mode is the easier method, but Expression mode provides
greater flexibility.

Table mode
\!──────────────────────────\~
Define the index in a table by filling in the appropriate
entries in each column of the table.

Expression mode
\!──────────────────────────\~
Define the index by entering \#expression\~ that evaluates to
the index key.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[914, *833, 834]













































































Selecting a field
\!────────────────────────────────────────────────────────────\~

Select a field by highlighting it, and then pressing Enter.
Deselect a field using the same method.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Index files
\!────────────────────────────────────────────────────────────\~

Attaching an index
\!───────────────────────────\~
To select an index file, highlight it and press Enter. Be
sure to attach only those indexes that were created for this
database or set!

Creating an index
\!───────────────────────────\~
If you are creating a new index, you must use a unique name.
Type the index file's name and press Enter. The filename
must follow DOS file-naming conventions: it can contain up
to 8 characters, including letters, numbers, hyphens (-),
and underscores (_).
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]















































































































































































Exit
\!────────────────────────────────────────────────────────────\~

Exit the Range Settings box without saving the newly defined
settings to disk. The range will be available (under the
name "1:Current") until you either retrieve or define a new
range, or exit Alpha Four.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Save
\!────────────────────────────────────────────────────────────\~

Save the current range settings, layout design, or update
definition to disk, using the original Id.

If you never specified an Id, Alpha Four displays the list
of available Ids. Select one either by highlighting it and
pressing Enter, or by typing the appropriate letter.

Alpha Four returns you to either the main menu, View mode,
or Browse mode, depending upon where you were working.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Save as
\!────────────────────────────────────────────────────────────\~

Save the current range settings, layout design, or update
definition to disk, using a new Id. This is useful when you
edit an existing range, layout or update definition.

Alpha Four displays the list of un-used Ids. Select an Id
either by highlighting it and pressing Enter, or by typing
the appropriate letter. If an Id is not listed, it has
already been used.

Alpha Four returns you to either the Alpha Four main menu,
View mode, or Browse mode, depending upon where you were
working.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Save and continue editing
\!────────────────────────────────────────────────────────────

\~Save the layout, application design, or update definition to
disk, using the original Id. After saving the file, Alpha
Four allows you to continue editing the layout, application
or update definition.

        \!┌─ \~Note\! ──────────────────────────────────┐\~
        \!│\~ This is highly recommended when you are \!│\~
        \!│\~ working on lengthy or complex designs!  \!│\~
        \!└─────────────────────────────────────────┘\~




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Save and preview
\!────────────────────────────────────────────────────────────
\~

Save the current layout and preview the result by printing
to the the screen.

When you exit from the print previewer, Alpha Four returns
you to the layout screen where you can continue editing the
layout.






\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Define password
\!────────────────────────────────────────────────────────────
\~

Define a password for the current layout. By defining a
password, future attempts to edit, borrow or erase the
layout are protected with this password.

The password can consist of up to eight alphanumeric
characters and you will be prompted to enter it twice for
confirmation. 

To remove a previously assigned password, press ENTER in
place of entering a password. 


\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Drawing lines on the banner screen
\!────────────────────────────────────────────────────────────\~

Type 1 (single line) or 2 (double line) to select the line
type. 

Use the cursor keys to draw lines. You can switch line types
at any time while drawing by typing the appropriate number.

To exit from line drawing mode, press Enter.

To draw \#boxes,\~ use the F8 (Box) command instead.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1044, *833, 834]













































































Editing the Dialog Box or banner screen
\!────────────────────────────────────────────────────────────\~
Type any text that you want to appear on the Dialog Box or
banner screen. 

The text that you type will take on the color attributes
that have been set for the underlying screen. To change the
color attributes of the underlying screen, use the F7
(Color) key.

To draw \#lines\~ on the screen, press F3 (Draw).

To draw \#boxes\~ on the screen, press F8 (Box).

When you have completed the Dialog Box or banner screen,
press F10 (Save) to save it.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1039, 1044, *833, 834]













































































Coloring an area on the Dialog Box or banner screen
\!────────────────────────────────────────────────────────────\~
To set the color attributes for a block on the screen:

1. Move the cursor to a corner of the block to be colored.
2. Press F7 (Color) and select a color option from the      
   pop-up color selection box. 
3. Press Enter to close the selection box.
4. Use the cursor keys to highlight a block to be colored.
   Then press Enter.





\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]














































































Deleting an area
\!────────────────────────────────────────────────────────────\~
Deletes a block of characters and attributes from the
workspace.

Designate the block by highlighting it, beginning from the
cursor's current position. Use the cursor keys to mark the
block. As the cursor moves, Alpha Four highlights the
contents of the block.

When the block is the correct size, press Enter. Alpha Four
removes it from the workspace.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Moving an area
\!────────────────────────────────────────────────────────────\~
Moves a block of characters and attributes to a new position
on the workspace.

Designate the block by highlighting it, beginning from the
cursor's current position. Use the cursor keys to mark the
block. As the cursor moves, Alpha Four highlights the
contents of the block.

When the block is the correct size, press Enter.

Move the cursor to the block's new location and press Enter
to complete the command.


\!════════════════════════════════════════════════════════════\~
                \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Drawing a box
\!────────────────────────────────────────────────────────────\~

To draw a box on the workspace:

1. Move the cursor to one of the corners of the box.
2. Press F8 (Box).
3. Select the line type from the pop-up menu. (Select type
   "I" to erase an existing box).
4. Select the colors to use for the box from the color
   selection screen.
5. Use the cursor keys to "drag out" the box. Press Enter to
   complete the box.

To draw \#lines,\~ press F3 (Draw).

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1039, *833, 834]













































































Deleting a block
\!────────────────────────────────────────────────────────────\~

Deletes a block of text and color attributes from the
workspace.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, *833, 834]













































































Pasting a block
\!────────────────────────────────────────────────────────────\~

Pastes the most recently \#deleted\~ block into the workspace.

Alpha Four pastes both characters and color attributes.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1045, *833, 834]













































































Line type for box
\!────────────────────────────────────────────────────────────\~

Select the character that Alpha Four should use to draw the
box.

To delete an existing box, select line type "I" (spaces).
This allows you to draw a box of spaces on top of an
existing box, thus deleting the box.







\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Use screen as template
\!────────────────────────────────────────────────────────────\~

Copies the screen design that was most recently \#saved\~ as a
template to the workspace for the current screen.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[1049, *833, 834]













































































Save screen as template
\!────────────────────────────────────────────────────────────\~

Save the current screen design to use as a template for
another menu.

Templates make it easy to apply a standardized look to all
of your application menus.

To apply a standardized look to all menus in an application,
design the standardized screen and save it as a template.
When you begin to customize another menu, press F9 (Options)
and select "Use template screen".



\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Clear the screen
\!────────────────────────────────────────────────────────────\~

Erase all of the characters and color attributes on the
banner screen.











\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Toggle text/color link
\!────────────────────────────────────────────────────────────\~
Each position on the banner screen has both a character and
a color attribute. 

The character and its color attribute can either be linked
or unlinked.

Linked  : Inserting or deleting spaces in front of a
          character will cause the character and its color
          attribute to move together.
Unlinked: Inserting or deleting spaces in front of a
          character will cause the character, but not its
          color attribute, to move. The character will take
          on the color attribute of the section of the
          screen to which it is moved.
\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Copy area
\!────────────────────────────────────────────────────────────\~

Copies a block of characters and attributes to a new
position on the workspace.

Designate the block by highlighting it, beginning from the
cursor's current position. Use the cursor keys to mark the
block. As the cursor moves, Alpha Four highlights the
contents of the block.

When the block is the correct size, press Enter.

Move the cursor to the block's new location and press Enter
to complete the command.

\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Update field
\!────────────────────────────────────────────────────────────\~

Select the field whose value you wish to update.












\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Update Expression

\!─────────────────────────────────────────────────────────────\~
Enter an expression here. Alpha Four will update the value
in the field with the result of this expression.

The expression can involve other fields in the database or
set, or script variables. Expressions can also use any Alpha
Four function.

Examples: 
  - To increment everyone's salary by 10%, enter the
    following expression for SALARY: SALARY * .10.  To
    change the terms to "C.O.D" for all customers, enter
    the follow expression for TERMS: "C.O.D"


\!════════════════════════════════════════════════════════════\~
\#Using help\~   \#Help topics\~   \#Expressions\~  \#Functions\~  \#Operators\~
\[*833, 834, 914, 889, 909]












































































Update description

\!─────────────────────────────────────────────────────────────\~

Enter a description to identify the update definition.












\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]












































































Select a saved update
\!────────────────────────────────────────────────────────────\~

Enter an Id letter (A-Z) to identify the update definition
that you wish to create, edit, or delete.

To create a new definition, use an unused letter. To edit an
existing definition, type the Id letter.








\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Erase a saved update
\!────────────────────────────────────────────────────────────\~

Erase a previously saved update definition.

Select the Id (A-Z) of the update definition to be erased.










\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Create/edit saved update
\!────────────────────────────────────────────────────────────\~

Select this option to define a saved update definition. You
can define up to 26 update definitions (A-Z).

The update definition specifies which fields are to be
updated and the expression to use to update each field.

To perform an update of the database using one of the saved
update definitions, use the Run update expressions command.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]














































































Run saved update
\!────────────────────────────────────────────────────────────\~

Updates the values in the specified fields in all of the
records in a \#range\~ using an update definition that was
previously created using the Create/edit update expressions
command.









\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, *833, 834]













































































One-Time update
\!────────────────────────────────────────────────────────────\~

Select this option to update the value(s) in one or more
fields in a \#range\~ of records. 

For example, use this command to increment the value in a
SALARY field by 10%.

The update definition is not saved for future use. If you
wish to save the update definition for future use, select
the Create/edit update expressions command instead.




\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[345, *833, 834]













































































Erase saved update
\!────────────────────────────────────────────────────────────\~

Erase a previously defined update definition.












\!════════════════════════════════════════════════════════════\~
               \#Using help\~         \#Help topics\~              
\[*833, 834]













































































Transaction filter 
\!────────────────────────────────────────────────────────────\~

Enter a filter expression that evaluates to TRUE or FALSE. 

Only records in the transaction database for which the
filter is TRUE will be posted to the master database.

For example, assume that the transaction database has a
logical field called POSTED. To post only the transaction
records for which POSTED is False, enter this filter
expression:

    .NOT. POSTED


\!════════════════════════════════════════════════════════════\~
\#Transaction status field\~       \#Using help\~        \#Help topics\~
\[1063, *833, 834]













































































Transaction status fieldname
\!────────────────────────────────────────────────────────────\~

Alpha Four can set the value in a logical field in the
transaction database to TRUE if the transaction record is
successfully posted to the master database. This feature, in
combination with the transaction filter, makes it easy to
skip over previously posted records when you post
transactions to a master database.

Enter the name of a logical field in the transaction
database whose value you wish to set to TRUE if the record
is posted.

Leave this field blank if you do not wish to update a
transaction status field.
\!════════════════════════════════════════════════════════════\~
\#Transaction filter\~          \#Using help\~         \#Help topics\~  
\[1062, *833, 834]















































































































































































Script Command Index
\!────────────────────────────────────────────────────────────\~

\#ABORT\~       \#EXECCLR\~       \#ONERROR\~    \#SCREENFREEZE\~   \#VSAVE\~
\#ALLOWKEYS\~   \#GOTO\~          \#ONESCAPE\~   \#SCREENOFF\~      \#WAITFOR\~
\#BEEP\~        \#IF\~            \#ONKEY\~      \#SCREENON\~       \#WAITKEY\~
\#CANCEL\~      \#LOOP\~          \#ONMAIN\~     \#SET\~            \#WAITSCRN\~
\#CASE\~        \#MAINMENU\~      \#PAUSE\~      \#SHOW\~           \#WAITUNTIL\~
\#CLEAR\~       \#MOUSEDCLICK\~   \#PLAY\~       \#TONE\~           \#WRITE\~
\#DEBUGOFF\~    \#MOUSEDOWN\~     \#PROMPT\~     \#TOOLEND\~        \#XLOOKUP\~
\#DEBUGON\~     \#MOUSEMOVE\~     \#READ\~       \#TRIGKEYS\~       \#XLOOKUPC\~
\#ENDAPP\~      \#MOUSEUP\~       \#RPL\~        \#VRESTORE\~       \#XLOOKUPR\~
\#EXEC\~        \#NOCLEAR\~


\!════════════════════════════════════════════════════════════\~
     \#Using help\~                  \#Help topics\~     
                \#What is a script?\~            \#Using Commands\~
\[1066, 1067, 1068, 1069, 1070, 1066, 1067, 1069, 1070, 1071, 1066, 1067, 1069, 1070, 1071, 1066, 1067, 1069, 1070, 1071, 1066, 1067, 1069, 1070, 1071, 1066, 1068, 1069, 1070, 1071, 1066, 1068, 1069, 1070, 1071, 1066, 1068, 1069, 1070, 1072, 1066, 1068, 1069, 1070, 1072, 1067, 1068, *833, 834, 1074, 1073]













































































Functions: {ABORT} - {ENDAPP}
\!────────────────────────────────────────────────────────────\~
{ABORT}     Halts script playback and returns to the main
            menu
{ALLOWKEYS} Restricts the users access to specific keys.
{BEEP}      Beeps the computer's speaker.
{CANCEL}    Halts script playback and returns to the current
            screen.
{CASE}      Performs logical tests on expressions to
            determine which command sequence is performed.
{CLEAR}     Clears the value of designated script variables.
{DEBUGOFF}  De-activates the script debugger.
{DEBUGON}   Invokes the script debugger.
{ENDAPP}    Terminates an Application from a script called by
            an Application. 
\!════════════════════════════════════════════════════════════\~
  \#Using help\~            \#Help topics\~        \#Next page\~       
        \#What is a script?\~      \#Using Commands\~              
\[833, 834, *1067, 1074, 1073]













































































Functions: {EXEC} - {MAINMENU}
\!────────────────────────────────────────────────────────────\~
{EXEC}      Runs an external program. The Alpha Four screen
            is not cleared.
{EXECCLR}   Clears the Alpha Four screen and runs an external
            program.
{GOTO}      Transfers further script processing to a script
            label.
{IF}        Performs a conditional test on an expression and
            performs one of two command sequences, depending
            on the test result.
{LOOP}      Transfer control to a script label a specified
            number of times.
{MAINMENU}  Used in applications to return the user to the
            Alpha Four main menu.
\!════════════════════════════════════════════════════════════\~
\#Using help\~        \#Help topics\~         \#Using commands\~
      \#What is a script?\~      \#Next page\~       \#Previous page\~
\[*833, 834, 1073, 1074, *1068, 1066]













































































Functions: {MOUSEDCLICK} - {ONERROR}
\!────────────────────────────────────────────────────────────\~
{MOUSEDCLICK} Indicates a double click of the leftmost mouse
              button at the specified cursor position.
{MOUSEDOWN}   Indicates a depression of the left mouse button
              at the specified cursor position.
{MOUSEMOVE}   Indicates mouse movement through the specified
              cursor position with the left mouse button
              depressed.
{MOUSEUP}     Indicates release of the left mouse button at
              the specified cursor position.
{NOCLEAR}     Prevents the clearing of a Dialog Box when it
              calls a Keystroke script.
{ONERROR}     Specifies command sequence to run when when
              an error occurs.
\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~          \#Using Commands\~        
      \#What is a script?\~     \#Next page\~        \#Previous page\~  
\[*833, 834, 1073, 1074, *1069, 1067]













































































Functions: {ONESCAPE} - {SCREENFREEZE}
\!────────────────────────────────────────────────────────────\~
{ONESCAPE}     Specifies command sequence to run when the
               ESCAPE key is pressed.
{ONKEY}        Assigns a key to a block of script commands.
{ONMAIN}       Specifies command sequence to run when the
               Alpha Four main menu is displayed.
{PAUSE}        Suspends script processing until the ENTER
               key is pressed.
{PLAY}         Starts playback of a script.
{PROMPT}       Used to prompt the user for data entry.
{READ          Reads text from the screen into a variable.
{RPL}          Invokes an Alpha RPL routine.
{SCREENFREEZE} Locks the current Alpha Four screen in place.

\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~         \#Using Commands\~        
      \#What is a script?\~     \#Next page\~       \#Previous page\~ 
\[*833, 834, 1073, 1074, *1070, 1068]













































































Functions: {SCREENOFF} - {VSAVE}
\!────────────────────────────────────────────────────────────\~
{SCREENOFF} Covers the Alpha Four screen with an opaque
            curtain to hide Alpha Four processing.
{SCREENON}  Restores the current Alpha Four screen.
{SET}       Assigns a value to a script variable.
{SHOW}      Displays a Dialog Box script on the Alpha Four
            screen. No dialog box controls are performed.
{TONE}      Plays musical tones though the computer speaker.
{TOOLEND}   Returns to View or Browse mode after a Tools
            command script is performed.
{TRIGKEYS}  Specifies keystrokes that a trigger script
            should perform.
{VRESTORE}  Restores script variable values from ASCII file.
{VSAVE}     Saves script variable values to an ASCII file.
\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~         \#Using Commands\~        
      \#What is a script?\~     \#Next page\~       \#Previous page\~ 
\[833, 834, 1073, 1074, 1071, 1069]













































































Functions: {WAITFOR} - {XLOOKUP}
\!────────────────────────────────────────────────────────────\~
{WAITFOR}   Suspends script processing for a specified number
            of seconds.
{WAITKEY}   Suspends script processing until a designated key
            is pressed.
{WAITSCRN}  Suspends script processing until a designated
            Alpha Four screen is displayed.
{WAITUNTIL} Suspends script processing until a specific time
            is reached.
{WRITE}     Writes text on the Alpha Four screen.
{XLOOKUP}   Searches an external database for a record that
            matches a specified key value and creates script
            variables from the fields in the record.

\!════════════════════════════════════════════════════════════\~
\#Using help\~       \#Help topics\~         \#Using Commands\~        
      \#What is a script?\~    \#Next page\~        \#Previous page\~ 
\[833, 834, 1073, 1074, 1072, 1070]













































































Functions: {XLOOKUPC} - {XLOOKUPR}
\!────────────────────────────────────────────────────────────\~
{XLOOKUPC}  Searches an external database for a record that
            most closely matches a key value and creates
            script variables from the fields in the record.
{XLOOKUPR}  Searches an external database for a specified
            record number and creates script variables from
            the fields in the record.







\!════════════════════════════════════════════════════════════\~
\#Using help\~         \#Help topics\~           \#Previous page\~    
      \#Using Commands\~          \#What is a script?\~           
\[833, 834, *1071, 1073, 1074]













































































Using Commands
\!────────────────────────────────────────────────────────────\~

Script commands add additional functionality to Keystroke
scripts that you would not get by simply recording
keystrokes. Some of the things scripts commands allow you to
do are:

-run programs external to Alpha Four

-create and initialize script variables

-play music in your scripts

-perform tests on variables and field data to determine the
order in which script action is performed.
\!════════════════════════════════════════════════════════════\~
      \#Using help\~                 \#Help topics\~               
\[833, 834]













































































What is a script?
\!────────────────────────────────────────────────────────────\~
A script is a sequence of keystrokes and/or specialized
commands that you can direct Alpha Four to perform. Scripts
allow you to customize the way you work with Alpha Four,
thereby making your daily tasks easier. Alpha Four allows you
to create three types of scripts:

1)  A Keystroke script consists of keystrokes and/or script
commands. When a Keystroke script plays back, it types the
keystrokes to Alpha Four.

2)  A Dialog Box script displays a window on the screen
allowing you to ask users questions by prompting for input,
presenting lists of choices (Buttons) to users, or displaying
the value(s) of specified script variable(s).
\!════════════════════════════════════════════════════════════\~
    \#Next page\~           \#Using help\~           \#Help topics\~    
\[1075, 833, 834]













































































What is a script?
\!────────────────────────────────────────────────────────────\~

3)  A Menu Bar script is a set of custom menu choices each of
which is assigned an action composed of keystrokes or script
commands.  The menu bar defined by the script is assigned to
a form or browse table layout and displays in place of the
standard View or Browse mode menu bar.

Note that Menu Bar scripts are not designed to play back from
the Scripts menu or from other parts of Alpha Four like the
other types of scripts.




\!════════════════════════════════════════════════════════════\~
      \#Using help\~                 \#Help topics\~               
\[833, 834]













































































 